SlideShare a Scribd company logo
1 of 20
Il MACHEMAZZ:
L’ALGORITMO DEL
   SIMPLESSO



   www.profland.135.it

                         1
Si ricorda che:

l'uso degli appunti qui presenti è consentito per solo uso personale e di studio;
la consultazione è gratuita ed ogni forma atta a ricavarne lucro è vietata!
gli appunti sono fatti da studenti che non possono assumersi nessuna responsabilità in merito;
il materiale qui presente non è sostitutivo ma complementare ai libri di testo:
             - devi (e ti consiglio) di consultare e comprare i libri di testo;
il materiale qui presente è distribuito con licenza Creative Commons


Ti ricordo che se vuoi contribuire mandando degli appunti o quant'altro possa essere utile ad altri
puoi farlo inviando il materiale tramite: http://profland.altervista.org/mail.htm


Profman

  Il file è stato scaricato/visualizzato in forma gratuita da Profland: http://profland.altervista.org

             sezione Profstudio http://profland.altervista.org/profstudio/profstudio.htm

           oppure da qualche mirror, come: www.profland.cjb.net www.profland.135.it

                  o dalla pagina dedicata su slideshare.net: www.slideshare.net/profman




  www.profland.135.it                                                                                    2
Problemi di ottimizzazione
Nel campo economico e finanziario molti problemi
possono essere descritti mediante modelli matematici di
ricerca di un minimo o di un massimo di una funzione di
una o più variabili, soggetta o meno a restrizioni.
Questi problemi, definiti di ottimizzazione, nella loro
formulazione matematica, richiedono l’individuazione di: 
   variabili decisionali: descrivono quantitativamente le
decisioni da prendere, quantizzando il problema;     
   funzione obiettivo lineare: rappresenta
l’oggetto da massimizzare o minimizzare ed è
funzione delle variabili, graficamente (in un sistema
a 2 dimensioni) è raffigurata da una retta     
  vincoli lineari: descrivono le limitazioni da imporre alle
 variabili; possono essere disequazioni o equazioni di tipo
 lineare.                                                   3
Tutto ciò rappresenta un modello di programmazione lineare,
nell’ambito del quale:
  si può ricondurre un problema di minimo ad uno di massimo e
viceversa considerando la funzione opposta: min f(x) = - max f(x);
  possono ricondursi i vincoli di uguaglianza a vincoli di
disuguaglianza, i vincoli di minore a vincoli di maggiore e, viceversa,
moltiplicando entrambi i membri della disequazione per la quantità
(-1).
Si avranno sempre vincoli di non-negatività sulle grandezze input per
impedire che l’output assuma valori negativi e quindi inaccettabili per
il significato economico.
I vincoli di disequazioni rappresentano graficamente una parte di
piano. L’insieme di vincoli, quindi, costituisce la regione delle soluzioni
ammissibili. L’insieme di queste ultime costituisce un poliedro
complesso e la soluzione di massimo (o minimo) che si ricerca è in un
vertice di questa stessa figura bidimensionale.

www.profland.135.it                                                     4
Se i vincoli, per quanto numerosi, sono limitati a 2 o 3 variabili, il problema
può essere generalmente risolto con il metodo grafico

                         Tecnica geometrica
 1. si rappresentano graficamente i vincoli di disuguaglianza dopo aver
     risolto ciascuna equazione, rispetto alla prima variabile in termini
     della seconda variabile;
2.si traccia su un altro grafico il campo delle soluzioni ammissibili;
3. si calcola l’inclinazione della funzione obiettivo, facendo assumere ad
     una riga questa stessa inclinazione e spostandola poi fino al punto di
     contatto con la funzione obiettivo;
4 dal punto di contatto appena trovato si traccia una linea, ad esempio,
    tratteggiata;
5. si leggono poi i valori critici delle variabili in corrispondenza del
     punto di contatto, e si stima la funzione obiettivo in corrispondenza
     di questi valori.

   www.profland.135.it                                                            5
Tecniche algebriche (simplesso)
Nel trasformare i vincoli di “minore o uguale” si aggiunge una quantità positiva (S 1) al
primo membro della disequazione e si ottiene un’equazione equivalente
                                           x1 + x2 ≤ 10
aggiungendo una variabile positiva diventa
                               x1 + x2 + S1 = 10      (con S1 ≥ 0)
La variabile S1 è detta variabile slack (ovvero fittizie, inattive) ed è già implicitamente
definita nel vincolo espresso con la disequazione.
Nel trasformare i vincoli di “maggiore o uguale” in equazioni, si sottrae una quantità S 2 al
primo membro della disequazione, ottenendo
                                           x1 + x2 ≥ 10
sottraendo la variabile S2 diventa
                                        x1 + x2 - S2 = 10
anche la variabile S2 è detta variabile slack ed è già implicitamente definita nel vincolo
espresso con la disequazione.
Si rileva che con l’introduzione delle variabili slack aumenta la dimensione dello spazio
delle soluzioni ammissibili: in altre parole aumenta il numero delle incognite, rimane
invariato il numero delle equazioni, e quindi si può ipotizzare un numero di equazioni (m)
inferiore al numero di incognite (n). Ne consegue che se il rango della matrice è inferiore al
numero delle incognite il sistema ammetterà infinite soluzioni.
      www.profland.135.it                                                                   6
Prima di illustrare l’idea alla base del metodo del simplesso bisogna illustrare le seguenti
 proprietà:




L’idea del simplesso è la seguente:
si parte da un vertice (per costruzione l’origine) a cui corrisponde un valore della
funzione obiettivo, si cerca poi di passare ad un’altra soluzione ammissibile di base,
relativa ad un vertice adiacente, tale che il valore corrispondente della funzione
obiettivo sia maggiore del precedente; quando non si passa più da un vertice ad un
altro, vuol dire che si è trovato il massimo valore a cui corrisponde la funzione
obiettivo.
   www.profland.135.it                                                                     7
 A priori il problema deve avere soluzioni immettendo il vincolo di
positività di termini noti.
La procedura è la seguente:
1.     determinare una soluzione iniziale ammissibile di base;
2.    se la soluzione è ottima, stop; altrimenti proseguire in sequenza;
3.    determinare, tra le variabili non basiche, la variabile xr che deve
entrare a far parte delle variabili basiche;
4.    determinare tra le variabili basiche la variabile x k che si deve
scambiare con xr e che quindi deve diventare non basica;

5.    calcolare le coordinate del vertice adiacente – individuato
precedentemente – che rappresenta la nuova soluzione corrente
ammissibile di base e proseguire dal passo 2.



    www.profland.135.it                                                     8
Algoritmo del simplesso
Metodo del simplesso standard:
                [illim,fo,x]=simplesso(A,b,c,maxit)
      risolve il problema di programmazione lineare
                            max cx
con i vincoli:
• Ax<=b
• x(i)>=0 per ogni i
• b(i)>=0 per ogni i
 www.profland.135.it                                  9
[illim,fo,x]=simplesso(A,b,c,maxit)
                        INPUT:
A = matrice dei coefficienti dei vincoli
b = vettore colonna dei termini noti
    delle (dis)equazioni di vincolo
c = vettore riga dei coefficienti
       della funzione obiettivo
maxit = numero di passi prima di individuare
        una possibile iterazione
  www.profland.135.it                           10
[illim,fo,x]=simplesso(A,b,c,maxit)
                       OUTPUT:
La funzione restituisce in x il valore della
soluzione ottima e in fo il valore della
funzione obiettivo se il problema ammette
ottimo finito (illim=0).
               illim
                                1 SE il problema non ammette ottimo

                       2 SE i dati forniti non sono corretti
                       (in tal caso x e fo sono vuoti)
illim =
                       3 SE è probabile una ciclicità
 www.profland.135.it                                           11
INIZIO
Controllo della correttezza dei dati
             Isempty SI
    ON
           (find(b<0))
                NOma == mb SI
                       NOna == nc SI

                                  Costruzione della prima tavola
                                         Inizializzazione
                      Errore     Individuazione dell'indice della variabile entrante

        Errore                                     Iterazioni

Errore



www.profland.135.it                                                        12
                      FINE
Controllo della correttezza dei dati
                       ma = numero di righe della matrice A
>> [ma,na]=size(A);     na = numero di colonne della matrice A

                        mb = numero di righe del vettore b
>> [mb,nb]=size(b);
                       nb = numero di colonne del vettore b

                       mc= numero di righe del vettore c
>> [mc,nc]=size(c);
                       nc= numero di colonne del vettore c
  Data una matrice X di m righe ed n colonne,
  [m,n]=size(X) restituisce:
    m = numero di righe di X
                                                           13
    n = numero di colonne di X
Controllo della correttezza dei dati
>> if nb~=1        Un vettore colonna è tale se possiede solo
>>       b=b';     una colonna. Se nb (che esprime il numero di
                   colonne di b) non è pari ad uno, è chiaro che
>>       mb=nb;    b non è un vettore colonna.
>>       nb=1;    Probabilmente, l'utente lo ha passato come
                  vettore riga; si opera quindi la trasposizione e
>> end            si ridefinisce mb e nb.
                  Un vettore riga è tale se possiede solo una
>> if mc~=1       riga. Se mc (che esprime il numero di righe di
>>       c=c';    c) non è pari ad uno, è chiaro che c non è un
                  vettore riga.
>>       nc=mc;
                  Probabilmente, l'utente lo ha passato come
>>       mc=1;    vettore colonna; si opera quindi la
>> end            trasposizione e si ridefinisce mc e nc. 14
if isempty(find(b<0))
L'applicazione del metodo del simplesso per la risoluzione di
problemi economici di ottimizzazione implica che i termini noti
delle (dis)equazioni di vincolo non siano negativi (altrimenti
verrebbe meno il significato economico di tali vincoli)

                             Pertanto:
 viene attivata la ricerca (mediante FIND) degli elementi di b
 eventualemente negativi e, se questi sono presenti:

  è visualizzato un messaggio di errore, nel quale si
 dichiara che i termini noti ("componenti di b") non
 possono assumere valori negativi

  www.profland.135.it                                        15
Occorre verificare la compatibilità tra A e b,
if ma==mb                  ovvero se il numero di righe delle due strutture
                           (matriciale l'una, vettoriale l'altra) sia identico

                       Analogamente, si rende necessaria la verifica
                       della compatibilità tra A e c, ovvero se il
if na==nc              numero di colonne delle due strutture
                       (matriciale l'una, vettoriale l'altra) sia identico


  Qualora tale compatibilità manchi,
  • è predisposta la segnalazione di uno specifico
  MESSAGGIO DI ERRORE,
  • si pone illim=2,
  • si pongono gli output fo e x vettori vuoti
 www.profland.135.it                                                     16
Costruzione della prima tavola
  A=[A, eye(ma)];
  c=[-c,zeros(1,ma)];
  Ab=[b,A];
  T=[fo,c;Ab];
  [mt,nt]=size(T);
  fo=0;
  Inizializzazione
    iB=na+1:na+ma;
    it=0;
    illim=0;
Individuazione dell'indice della variabile entrante
[cmin,r]=min(T(1,2:nt));    cmin= valore più piccolo tra quelli
rt=r+1;                    selezionati;

  www.profland.135.it      r = suo indice all'interno del vettore esaminato
                                                                     17
                           da min
Iterazioni
                                while cmin<0
                              & ~illim & it<maxit

                             lim=find(T(2:mt,rt)>0)
                              0                     1
                                  isempty(lim)
Individuazione dell'indice                              Errore
  della variabile uscente

   Sostituzione della                                 illim=1
  variabile nella base
    Definizione delle
    variabili di output


       Individuazione dell'indice della variabile entrante
    Incremento di rt e it, da utilizzare come parametri per il passo successivo
                                                                                  18
in matlab…
% Individuazione dell'indice della variabile uscente
   [rmin,k]=min(T(lim+1,1)./T(lim+1,rt));
   k=lim(k);
   kt=k+1;
  T=gj1(T,rt,kt);
 % Sostituzione della variabile nella base
   iB(k)=r;
 % Definizione delle variabili di output
     fo=T(1,1);
     x=zeros(1,na+ma);
     x(iB)=T(2:mt,1);
 % Individuazione dell'indice della variabile entrante
            [cmin,r]=min(T(1,2:nt));
 % Incremento di rt e it, da utilizzare come parametri per il passo successivo
        rt=r+1;           it=it+1;
                                                                                 19
Il file è stato scaricato/visualizzato in forma gratuita da Profland:
                           http://profland.altervista.org

                              sezione Profstudio
           http://profland.altervista.org/profstudio/profstudio.htm

                    oppure da qualche mirror, come:
                 www.profland.cjb.net www.profland.135.it

                      o dalla pagina dedicata su slideshare.net:
                            www.slideshare.net/profman



www.profland.135.it                                                          20

More Related Content

What's hot

Lezione 2 alberi e differenze finite
Lezione 2   alberi e differenze finiteLezione 2   alberi e differenze finite
Lezione 2 alberi e differenze finiteGiovanni Della Lunga
 
Dispensa disequazioni semplici, fratte, con valore assoluto
Dispensa disequazioni   semplici, fratte, con valore assolutoDispensa disequazioni   semplici, fratte, con valore assoluto
Dispensa disequazioni semplici, fratte, con valore assolutoDomenico Tafuni
 
Capitolo 6a elementi di valutazione dei prodotti derivati
Capitolo 6a   elementi di valutazione dei prodotti derivatiCapitolo 6a   elementi di valutazione dei prodotti derivati
Capitolo 6a elementi di valutazione dei prodotti derivatiGiovanni Della Lunga
 
Problema dello zaino
Problema dello zainoProblema dello zaino
Problema dello zainoFSensei
 
Disequazioni [teoria ed esericizi][santi caltabiano]
Disequazioni [teoria ed esericizi][santi caltabiano]Disequazioni [teoria ed esericizi][santi caltabiano]
Disequazioni [teoria ed esericizi][santi caltabiano]santi caltabiano
 
Esercizi applicativi compito_17-11-2010
Esercizi applicativi compito_17-11-2010Esercizi applicativi compito_17-11-2010
Esercizi applicativi compito_17-11-2010Matekanc
 
05 3 istruzioni-selezione-iterazione-condizioni
05 3 istruzioni-selezione-iterazione-condizioni05 3 istruzioni-selezione-iterazione-condizioni
05 3 istruzioni-selezione-iterazione-condizioniPiero Fraternali
 
Valore assoluto
Valore assolutoValore assoluto
Valore assolutodanslides
 
Distribuzioni di Probabilita e Variabili Casuali
Distribuzioni di Probabilita e Variabili CasualiDistribuzioni di Probabilita e Variabili Casuali
Distribuzioni di Probabilita e Variabili Casualimaxbt
 
Integrali Singolari per istituti tecnici -- Gaudio Fabrizio
Integrali Singolari per istituti tecnici -- Gaudio FabrizioIntegrali Singolari per istituti tecnici -- Gaudio Fabrizio
Integrali Singolari per istituti tecnici -- Gaudio Fabriziodarkgod90
 
Le variabili casuali
Le variabili casualiLe variabili casuali
Le variabili casualiVispo Srl
 

What's hot (20)

Lezione 2 alberi e differenze finite
Lezione 2   alberi e differenze finiteLezione 2   alberi e differenze finite
Lezione 2 alberi e differenze finite
 
Dispensa disequazioni semplici, fratte, con valore assoluto
Dispensa disequazioni   semplici, fratte, con valore assolutoDispensa disequazioni   semplici, fratte, con valore assoluto
Dispensa disequazioni semplici, fratte, con valore assoluto
 
Metodi numerici
Metodi numericiMetodi numerici
Metodi numerici
 
Capitolo 6a elementi di valutazione dei prodotti derivati
Capitolo 6a   elementi di valutazione dei prodotti derivatiCapitolo 6a   elementi di valutazione dei prodotti derivati
Capitolo 6a elementi di valutazione dei prodotti derivati
 
Limiti
LimitiLimiti
Limiti
 
Problema dello zaino
Problema dello zainoProblema dello zaino
Problema dello zaino
 
le disequazioni
 le disequazioni le disequazioni
le disequazioni
 
Disequazioni [teoria ed esericizi][santi caltabiano]
Disequazioni [teoria ed esericizi][santi caltabiano]Disequazioni [teoria ed esericizi][santi caltabiano]
Disequazioni [teoria ed esericizi][santi caltabiano]
 
Esercizi applicativi compito_17-11-2010
Esercizi applicativi compito_17-11-2010Esercizi applicativi compito_17-11-2010
Esercizi applicativi compito_17-11-2010
 
Integrale definito
Integrale definitoIntegrale definito
Integrale definito
 
05 3 istruzioni-selezione-iterazione-condizioni
05 3 istruzioni-selezione-iterazione-condizioni05 3 istruzioni-selezione-iterazione-condizioni
05 3 istruzioni-selezione-iterazione-condizioni
 
Disequazioni
DisequazioniDisequazioni
Disequazioni
 
Il modello Logistico
Il modello LogisticoIl modello Logistico
Il modello Logistico
 
07 2 ricorsione
07 2 ricorsione07 2 ricorsione
07 2 ricorsione
 
Valore assoluto
Valore assolutoValore assoluto
Valore assoluto
 
Integrali definiti
Integrali definitiIntegrali definiti
Integrali definiti
 
Distribuzioni di Probabilita e Variabili Casuali
Distribuzioni di Probabilita e Variabili CasualiDistribuzioni di Probabilita e Variabili Casuali
Distribuzioni di Probabilita e Variabili Casuali
 
Integrali Singolari per istituti tecnici -- Gaudio Fabrizio
Integrali Singolari per istituti tecnici -- Gaudio FabrizioIntegrali Singolari per istituti tecnici -- Gaudio Fabrizio
Integrali Singolari per istituti tecnici -- Gaudio Fabrizio
 
Le variabili casuali
Le variabili casualiLe variabili casuali
Le variabili casuali
 
Disequazioni una variabile
Disequazioni una variabileDisequazioni una variabile
Disequazioni una variabile
 

Viewers also liked

Direct Mail: Google Places
Direct Mail: Google PlacesDirect Mail: Google Places
Direct Mail: Google PlacesCory Grassell
 
Geoff Mulgan on Austerity and Innovation - MaRS Global Leadership
Geoff Mulgan on Austerity and Innovation - MaRS Global Leadership Geoff Mulgan on Austerity and Innovation - MaRS Global Leadership
Geoff Mulgan on Austerity and Innovation - MaRS Global Leadership MaRS Discovery District
 
Management Actions and Volatility Control
Management Actions and Volatility Control Management Actions and Volatility Control
Management Actions and Volatility Control Fredrik Daveus
 
Yellow Pages Ad: Public Storage
Yellow Pages Ad: Public StorageYellow Pages Ad: Public Storage
Yellow Pages Ad: Public StorageCory Grassell
 
Брендинг напитков и алкоголя: 10 практических советов, как усилить и выделить...
Брендинг напитков и алкоголя: 10 практических советов, как усилить и выделить...Брендинг напитков и алкоголя: 10 практических советов, как усилить и выделить...
Брендинг напитков и алкоголя: 10 практических советов, как усилить и выделить...DDC Lab
 
Регистрация и настройка профиля FutureNet
Регистрация и настройка профиля FutureNetРегистрация и настройка профиля FutureNet
Регистрация и настройка профиля FutureNetsmmfuturenet
 
Appunti di Strategia aziendale
Appunti di Strategia aziendaleAppunti di Strategia aziendale
Appunti di Strategia aziendaleprofman
 
Appunti di Storia economica: economia italiana
Appunti di Storia economica: economia italianaAppunti di Storia economica: economia italiana
Appunti di Storia economica: economia italianaprofman
 
Concept of threats and threat environment
Concept of threats and threat environmentConcept of threats and threat environment
Concept of threats and threat environmentUyoyo Edosio
 
Conributor personality development
Conributor personality developmentConributor personality development
Conributor personality developmentsabva001
 

Viewers also liked (13)

Direct Mail: Google Places
Direct Mail: Google PlacesDirect Mail: Google Places
Direct Mail: Google Places
 
Geoff Mulgan on Austerity and Innovation - MaRS Global Leadership
Geoff Mulgan on Austerity and Innovation - MaRS Global Leadership Geoff Mulgan on Austerity and Innovation - MaRS Global Leadership
Geoff Mulgan on Austerity and Innovation - MaRS Global Leadership
 
Management Actions and Volatility Control
Management Actions and Volatility Control Management Actions and Volatility Control
Management Actions and Volatility Control
 
Palpap
PalpapPalpap
Palpap
 
Yellow Pages Ad: Public Storage
Yellow Pages Ad: Public StorageYellow Pages Ad: Public Storage
Yellow Pages Ad: Public Storage
 
Брендинг напитков и алкоголя: 10 практических советов, как усилить и выделить...
Брендинг напитков и алкоголя: 10 практических советов, как усилить и выделить...Брендинг напитков и алкоголя: 10 практических советов, как усилить и выделить...
Брендинг напитков и алкоголя: 10 практических советов, как усилить и выделить...
 
Sample Work (Radio Ad WW)
Sample Work (Radio Ad WW)Sample Work (Radio Ad WW)
Sample Work (Radio Ad WW)
 
Sample Work (Radio Ad)
Sample Work (Radio Ad)Sample Work (Radio Ad)
Sample Work (Radio Ad)
 
Регистрация и настройка профиля FutureNet
Регистрация и настройка профиля FutureNetРегистрация и настройка профиля FutureNet
Регистрация и настройка профиля FutureNet
 
Appunti di Strategia aziendale
Appunti di Strategia aziendaleAppunti di Strategia aziendale
Appunti di Strategia aziendale
 
Appunti di Storia economica: economia italiana
Appunti di Storia economica: economia italianaAppunti di Storia economica: economia italiana
Appunti di Storia economica: economia italiana
 
Concept of threats and threat environment
Concept of threats and threat environmentConcept of threats and threat environment
Concept of threats and threat environment
 
Conributor personality development
Conributor personality developmentConributor personality development
Conributor personality development
 

Similar to Appunti di Elaborazione automatica dei dati: il simplesso

Schema Risolutivo Delle Serie
Schema Risolutivo Delle SerieSchema Risolutivo Delle Serie
Schema Risolutivo Delle SerieDinoIT
 
Minimiemassimi
MinimiemassimiMinimiemassimi
Minimiemassimialecellini
 
Minimax regret solution to linear programming problems with an interval obje...
Minimax regret solution to linear programming problems with  an interval obje...Minimax regret solution to linear programming problems with  an interval obje...
Minimax regret solution to linear programming problems with an interval obje...NicolasTortora
 
Extended Summary of “An Algorithm for Solving Multicriteron Linear Programmin...
Extended Summary of “An Algorithm for Solving Multicriteron Linear Programmin...Extended Summary of “An Algorithm for Solving Multicriteron Linear Programmin...
Extended Summary of “An Algorithm for Solving Multicriteron Linear Programmin...MatteoZarot
 
Algoritmi per l'ottimizzazione convessa
Algoritmi per l'ottimizzazione convessaAlgoritmi per l'ottimizzazione convessa
Algoritmi per l'ottimizzazione convessaVittoriano Muttillo
 
Lezione 23 (9 maggio 2012)
Lezione 23 (9 maggio 2012)Lezione 23 (9 maggio 2012)
Lezione 23 (9 maggio 2012)STELITANO
 
Successioni e laboratorio1617
Successioni e laboratorio1617Successioni e laboratorio1617
Successioni e laboratorio1617uffamate
 
Kinetic_Modeling_02_12_2016
Kinetic_Modeling_02_12_2016Kinetic_Modeling_02_12_2016
Kinetic_Modeling_02_12_2016Michele Scipioni
 
Teorie e tecniche dei test
Teorie e tecniche dei testTeorie e tecniche dei test
Teorie e tecniche dei testOlaudio Bia
 
Algebra lineare
Algebra lineareAlgebra lineare
Algebra lineareVoglio 10
 
La correlazione lineare fra due variabili statistiche
La correlazione lineare fra due variabili statisticheLa correlazione lineare fra due variabili statistiche
La correlazione lineare fra due variabili statisticheLuigi Pasini
 
Metodo dei minimi quadrati
Metodo dei minimi quadratiMetodo dei minimi quadrati
Metodo dei minimi quadratiLuigi Pasini
 
Equazioni [teoria ed esericizi][santi caltabiano]
Equazioni  [teoria ed esericizi][santi caltabiano]Equazioni  [teoria ed esericizi][santi caltabiano]
Equazioni [teoria ed esericizi][santi caltabiano]santi caltabiano
 
Integrali definiti
Integrali definitiIntegrali definiti
Integrali definitiuffamate
 
La retta interpolante
La retta interpolanteLa retta interpolante
La retta interpolanteLuigi Pasini
 

Similar to Appunti di Elaborazione automatica dei dati: il simplesso (20)

Schema Risolutivo Delle Serie
Schema Risolutivo Delle SerieSchema Risolutivo Delle Serie
Schema Risolutivo Delle Serie
 
Minimiemassimi
MinimiemassimiMinimiemassimi
Minimiemassimi
 
Minimax regret solution to linear programming problems with an interval obje...
Minimax regret solution to linear programming problems with  an interval obje...Minimax regret solution to linear programming problems with  an interval obje...
Minimax regret solution to linear programming problems with an interval obje...
 
Extended Summary of “An Algorithm for Solving Multicriteron Linear Programmin...
Extended Summary of “An Algorithm for Solving Multicriteron Linear Programmin...Extended Summary of “An Algorithm for Solving Multicriteron Linear Programmin...
Extended Summary of “An Algorithm for Solving Multicriteron Linear Programmin...
 
Algoritmi per l'ottimizzazione convessa
Algoritmi per l'ottimizzazione convessaAlgoritmi per l'ottimizzazione convessa
Algoritmi per l'ottimizzazione convessa
 
Lezione 23 (9 maggio 2012)
Lezione 23 (9 maggio 2012)Lezione 23 (9 maggio 2012)
Lezione 23 (9 maggio 2012)
 
Area equaz matematica
Area equaz matematicaArea equaz matematica
Area equaz matematica
 
Successioni e laboratorio1617
Successioni e laboratorio1617Successioni e laboratorio1617
Successioni e laboratorio1617
 
Kinetic_Modeling_02_12_2016
Kinetic_Modeling_02_12_2016Kinetic_Modeling_02_12_2016
Kinetic_Modeling_02_12_2016
 
Teorie e tecniche dei test
Teorie e tecniche dei testTeorie e tecniche dei test
Teorie e tecniche dei test
 
Umano vs Computer: La sfida
Umano vs Computer: La sfidaUmano vs Computer: La sfida
Umano vs Computer: La sfida
 
Funzione esponenziale
Funzione esponenzialeFunzione esponenziale
Funzione esponenziale
 
Asintoti
AsintotiAsintoti
Asintoti
 
Invarianza di un politopo
Invarianza di un politopoInvarianza di un politopo
Invarianza di un politopo
 
Algebra lineare
Algebra lineareAlgebra lineare
Algebra lineare
 
La correlazione lineare fra due variabili statistiche
La correlazione lineare fra due variabili statisticheLa correlazione lineare fra due variabili statistiche
La correlazione lineare fra due variabili statistiche
 
Metodo dei minimi quadrati
Metodo dei minimi quadratiMetodo dei minimi quadrati
Metodo dei minimi quadrati
 
Equazioni [teoria ed esericizi][santi caltabiano]
Equazioni  [teoria ed esericizi][santi caltabiano]Equazioni  [teoria ed esericizi][santi caltabiano]
Equazioni [teoria ed esericizi][santi caltabiano]
 
Integrali definiti
Integrali definitiIntegrali definiti
Integrali definiti
 
La retta interpolante
La retta interpolanteLa retta interpolante
La retta interpolante
 

More from profman

Belle piume
Belle piumeBelle piume
Belle piumeprofman
 
Greetings from Antartica - Beautè de l'Antarctique
Greetings from Antartica - Beautè de l'AntarctiqueGreetings from Antartica - Beautè de l'Antarctique
Greetings from Antartica - Beautè de l'Antarctiqueprofman
 
Street Creativity
Street CreativityStreet Creativity
Street Creativityprofman
 
Foto spettacolari - Spectaculaire foto’s
Foto spettacolari - Spectaculaire foto’sFoto spettacolari - Spectaculaire foto’s
Foto spettacolari - Spectaculaire foto’sprofman
 
Principi di Diritto costituzionale e Amministrativo
Principi di Diritto costituzionale e AmministrativoPrincipi di Diritto costituzionale e Amministrativo
Principi di Diritto costituzionale e Amministrativoprofman
 
Foto rare - Rare Photos
Foto rare - Rare PhotosFoto rare - Rare Photos
Foto rare - Rare Photosprofman
 
Appunti di Scienza delle finanze
Appunti di Scienza delle finanzeAppunti di Scienza delle finanze
Appunti di Scienza delle finanzeprofman
 
Non disperare
Non disperareNon disperare
Non disperareprofman
 
Vacanze stravaganti Wacky Holidays
Vacanze stravaganti Wacky HolidaysVacanze stravaganti Wacky Holidays
Vacanze stravaganti Wacky Holidaysprofman
 
Appunti di Strategia aziendale: esercizi
Appunti di Strategia aziendale: eserciziAppunti di Strategia aziendale: esercizi
Appunti di Strategia aziendale: eserciziprofman
 
Appunti di Strategia aziendale: lucidi
Appunti di Strategia aziendale: lucidiAppunti di Strategia aziendale: lucidi
Appunti di Strategia aziendale: lucidiprofman
 
Appunti di Strategia aziendale: caso marzotto
Appunti di Strategia aziendale: caso marzottoAppunti di Strategia aziendale: caso marzotto
Appunti di Strategia aziendale: caso marzottoprofman
 
Appunti di Storia economica: seminari
Appunti di Storia economica: seminariAppunti di Storia economica: seminari
Appunti di Storia economica: seminariprofman
 
Appunti di Storia economica: rivoluzione industriale
Appunti di Storia economica: rivoluzione industrialeAppunti di Storia economica: rivoluzione industriale
Appunti di Storia economica: rivoluzione industrialeprofman
 
Appunti di Storia economica: economia mondiale
Appunti di Storia economica: economia mondialeAppunti di Storia economica: economia mondiale
Appunti di Storia economica: economia mondialeprofman
 
Appunti di Ragioneria: bilancio civilistico
Appunti di Ragioneria: bilancio civilisticoAppunti di Ragioneria: bilancio civilistico
Appunti di Ragioneria: bilancio civilisticoprofman
 
Appunti di Ragioneria
Appunti di RagioneriaAppunti di Ragioneria
Appunti di Ragioneriaprofman
 
Appunti di Organizzazione aziendale: domande
Appunti di Organizzazione aziendale: domandeAppunti di Organizzazione aziendale: domande
Appunti di Organizzazione aziendale: domandeprofman
 
Organizzazione aziendale processi motivazionali
Organizzazione aziendale   processi motivazionaliOrganizzazione aziendale   processi motivazionali
Organizzazione aziendale processi motivazionaliprofman
 
Appunti di Organizzazione aziendale: introduzione alle reti
Appunti di Organizzazione aziendale: introduzione alle retiAppunti di Organizzazione aziendale: introduzione alle reti
Appunti di Organizzazione aziendale: introduzione alle retiprofman
 

More from profman (20)

Belle piume
Belle piumeBelle piume
Belle piume
 
Greetings from Antartica - Beautè de l'Antarctique
Greetings from Antartica - Beautè de l'AntarctiqueGreetings from Antartica - Beautè de l'Antarctique
Greetings from Antartica - Beautè de l'Antarctique
 
Street Creativity
Street CreativityStreet Creativity
Street Creativity
 
Foto spettacolari - Spectaculaire foto’s
Foto spettacolari - Spectaculaire foto’sFoto spettacolari - Spectaculaire foto’s
Foto spettacolari - Spectaculaire foto’s
 
Principi di Diritto costituzionale e Amministrativo
Principi di Diritto costituzionale e AmministrativoPrincipi di Diritto costituzionale e Amministrativo
Principi di Diritto costituzionale e Amministrativo
 
Foto rare - Rare Photos
Foto rare - Rare PhotosFoto rare - Rare Photos
Foto rare - Rare Photos
 
Appunti di Scienza delle finanze
Appunti di Scienza delle finanzeAppunti di Scienza delle finanze
Appunti di Scienza delle finanze
 
Non disperare
Non disperareNon disperare
Non disperare
 
Vacanze stravaganti Wacky Holidays
Vacanze stravaganti Wacky HolidaysVacanze stravaganti Wacky Holidays
Vacanze stravaganti Wacky Holidays
 
Appunti di Strategia aziendale: esercizi
Appunti di Strategia aziendale: eserciziAppunti di Strategia aziendale: esercizi
Appunti di Strategia aziendale: esercizi
 
Appunti di Strategia aziendale: lucidi
Appunti di Strategia aziendale: lucidiAppunti di Strategia aziendale: lucidi
Appunti di Strategia aziendale: lucidi
 
Appunti di Strategia aziendale: caso marzotto
Appunti di Strategia aziendale: caso marzottoAppunti di Strategia aziendale: caso marzotto
Appunti di Strategia aziendale: caso marzotto
 
Appunti di Storia economica: seminari
Appunti di Storia economica: seminariAppunti di Storia economica: seminari
Appunti di Storia economica: seminari
 
Appunti di Storia economica: rivoluzione industriale
Appunti di Storia economica: rivoluzione industrialeAppunti di Storia economica: rivoluzione industriale
Appunti di Storia economica: rivoluzione industriale
 
Appunti di Storia economica: economia mondiale
Appunti di Storia economica: economia mondialeAppunti di Storia economica: economia mondiale
Appunti di Storia economica: economia mondiale
 
Appunti di Ragioneria: bilancio civilistico
Appunti di Ragioneria: bilancio civilisticoAppunti di Ragioneria: bilancio civilistico
Appunti di Ragioneria: bilancio civilistico
 
Appunti di Ragioneria
Appunti di RagioneriaAppunti di Ragioneria
Appunti di Ragioneria
 
Appunti di Organizzazione aziendale: domande
Appunti di Organizzazione aziendale: domandeAppunti di Organizzazione aziendale: domande
Appunti di Organizzazione aziendale: domande
 
Organizzazione aziendale processi motivazionali
Organizzazione aziendale   processi motivazionaliOrganizzazione aziendale   processi motivazionali
Organizzazione aziendale processi motivazionali
 
Appunti di Organizzazione aziendale: introduzione alle reti
Appunti di Organizzazione aziendale: introduzione alle retiAppunti di Organizzazione aziendale: introduzione alle reti
Appunti di Organizzazione aziendale: introduzione alle reti
 

Recently uploaded

Oppressi_oppressori.pptx................
Oppressi_oppressori.pptx................Oppressi_oppressori.pptx................
Oppressi_oppressori.pptx................giorgiadeascaniis59
 
Tosone Christian_Steve Jobsaaaaaaaa.pptx
Tosone Christian_Steve Jobsaaaaaaaa.pptxTosone Christian_Steve Jobsaaaaaaaa.pptx
Tosone Christian_Steve Jobsaaaaaaaa.pptxlorenzodemidio01
 
Confronto tra Sparta e Atene classiche.ppt
Confronto tra Sparta e Atene classiche.pptConfronto tra Sparta e Atene classiche.ppt
Confronto tra Sparta e Atene classiche.pptcarlottagalassi
 
Presentazioni Efficaci e lezioni di Educazione Civica
Presentazioni Efficaci e lezioni di Educazione CivicaPresentazioni Efficaci e lezioni di Educazione Civica
Presentazioni Efficaci e lezioni di Educazione CivicaSalvatore Cianciabella
 
Scrittura seo e scrittura accessibile
Scrittura seo e scrittura accessibileScrittura seo e scrittura accessibile
Scrittura seo e scrittura accessibileNicola Rabbi
 
Descrizione Piccolo teorema di Talete.pptx
Descrizione Piccolo teorema di Talete.pptxDescrizione Piccolo teorema di Talete.pptx
Descrizione Piccolo teorema di Talete.pptxtecongo2007
 
Quadrilateri e isometrie studente di liceo
Quadrilateri e isometrie studente di liceoQuadrilateri e isometrie studente di liceo
Quadrilateri e isometrie studente di liceoyanmeng831
 
Lorenzo D'Emidio_Vita e opere di Aristotele.pptx
Lorenzo D'Emidio_Vita e opere di Aristotele.pptxLorenzo D'Emidio_Vita e opere di Aristotele.pptx
Lorenzo D'Emidio_Vita e opere di Aristotele.pptxlorenzodemidio01
 
Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptx
Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptxLorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptx
Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptxlorenzodemidio01
 
Aristotele, vita e opere e fisica...pptx
Aristotele, vita e opere e fisica...pptxAristotele, vita e opere e fisica...pptx
Aristotele, vita e opere e fisica...pptxtecongo2007
 
discorso generale sulla fisica e le discipline.pptx
discorso generale sulla fisica e le discipline.pptxdiscorso generale sulla fisica e le discipline.pptx
discorso generale sulla fisica e le discipline.pptxtecongo2007
 
Nicola pisano aaaaaaaaaaaaaaaaaa(1).pptx
Nicola pisano aaaaaaaaaaaaaaaaaa(1).pptxNicola pisano aaaaaaaaaaaaaaaaaa(1).pptx
Nicola pisano aaaaaaaaaaaaaaaaaa(1).pptxlorenzodemidio01
 
Lorenzo D'Emidio_Francesco Petrarca.pptx
Lorenzo D'Emidio_Francesco Petrarca.pptxLorenzo D'Emidio_Francesco Petrarca.pptx
Lorenzo D'Emidio_Francesco Petrarca.pptxlorenzodemidio01
 
Lorenzo D'Emidio_Vita di Cristoforo Colombo.pptx
Lorenzo D'Emidio_Vita di Cristoforo Colombo.pptxLorenzo D'Emidio_Vita di Cristoforo Colombo.pptx
Lorenzo D'Emidio_Vita di Cristoforo Colombo.pptxlorenzodemidio01
 
Vuoi girare il mondo? educazione civica.
Vuoi girare il mondo? educazione civica.Vuoi girare il mondo? educazione civica.
Vuoi girare il mondo? educazione civica.camillaorlando17
 
descrizioni della antica civiltà dei sumeri.pptx
descrizioni della antica civiltà dei sumeri.pptxdescrizioni della antica civiltà dei sumeri.pptx
descrizioni della antica civiltà dei sumeri.pptxtecongo2007
 
case passive_GiorgiaDeAscaniis.pptx.....
case passive_GiorgiaDeAscaniis.pptx.....case passive_GiorgiaDeAscaniis.pptx.....
case passive_GiorgiaDeAscaniis.pptx.....giorgiadeascaniis59
 
LE ALGHE.pptx ..........................
LE ALGHE.pptx ..........................LE ALGHE.pptx ..........................
LE ALGHE.pptx ..........................giorgiadeascaniis59
 
Scienza Potere Puntoaaaaaaaaaaaaaaa.pptx
Scienza Potere Puntoaaaaaaaaaaaaaaa.pptxScienza Potere Puntoaaaaaaaaaaaaaaa.pptx
Scienza Potere Puntoaaaaaaaaaaaaaaa.pptxlorenzodemidio01
 

Recently uploaded (19)

Oppressi_oppressori.pptx................
Oppressi_oppressori.pptx................Oppressi_oppressori.pptx................
Oppressi_oppressori.pptx................
 
Tosone Christian_Steve Jobsaaaaaaaa.pptx
Tosone Christian_Steve Jobsaaaaaaaa.pptxTosone Christian_Steve Jobsaaaaaaaa.pptx
Tosone Christian_Steve Jobsaaaaaaaa.pptx
 
Confronto tra Sparta e Atene classiche.ppt
Confronto tra Sparta e Atene classiche.pptConfronto tra Sparta e Atene classiche.ppt
Confronto tra Sparta e Atene classiche.ppt
 
Presentazioni Efficaci e lezioni di Educazione Civica
Presentazioni Efficaci e lezioni di Educazione CivicaPresentazioni Efficaci e lezioni di Educazione Civica
Presentazioni Efficaci e lezioni di Educazione Civica
 
Scrittura seo e scrittura accessibile
Scrittura seo e scrittura accessibileScrittura seo e scrittura accessibile
Scrittura seo e scrittura accessibile
 
Descrizione Piccolo teorema di Talete.pptx
Descrizione Piccolo teorema di Talete.pptxDescrizione Piccolo teorema di Talete.pptx
Descrizione Piccolo teorema di Talete.pptx
 
Quadrilateri e isometrie studente di liceo
Quadrilateri e isometrie studente di liceoQuadrilateri e isometrie studente di liceo
Quadrilateri e isometrie studente di liceo
 
Lorenzo D'Emidio_Vita e opere di Aristotele.pptx
Lorenzo D'Emidio_Vita e opere di Aristotele.pptxLorenzo D'Emidio_Vita e opere di Aristotele.pptx
Lorenzo D'Emidio_Vita e opere di Aristotele.pptx
 
Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptx
Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptxLorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptx
Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptx
 
Aristotele, vita e opere e fisica...pptx
Aristotele, vita e opere e fisica...pptxAristotele, vita e opere e fisica...pptx
Aristotele, vita e opere e fisica...pptx
 
discorso generale sulla fisica e le discipline.pptx
discorso generale sulla fisica e le discipline.pptxdiscorso generale sulla fisica e le discipline.pptx
discorso generale sulla fisica e le discipline.pptx
 
Nicola pisano aaaaaaaaaaaaaaaaaa(1).pptx
Nicola pisano aaaaaaaaaaaaaaaaaa(1).pptxNicola pisano aaaaaaaaaaaaaaaaaa(1).pptx
Nicola pisano aaaaaaaaaaaaaaaaaa(1).pptx
 
Lorenzo D'Emidio_Francesco Petrarca.pptx
Lorenzo D'Emidio_Francesco Petrarca.pptxLorenzo D'Emidio_Francesco Petrarca.pptx
Lorenzo D'Emidio_Francesco Petrarca.pptx
 
Lorenzo D'Emidio_Vita di Cristoforo Colombo.pptx
Lorenzo D'Emidio_Vita di Cristoforo Colombo.pptxLorenzo D'Emidio_Vita di Cristoforo Colombo.pptx
Lorenzo D'Emidio_Vita di Cristoforo Colombo.pptx
 
Vuoi girare il mondo? educazione civica.
Vuoi girare il mondo? educazione civica.Vuoi girare il mondo? educazione civica.
Vuoi girare il mondo? educazione civica.
 
descrizioni della antica civiltà dei sumeri.pptx
descrizioni della antica civiltà dei sumeri.pptxdescrizioni della antica civiltà dei sumeri.pptx
descrizioni della antica civiltà dei sumeri.pptx
 
case passive_GiorgiaDeAscaniis.pptx.....
case passive_GiorgiaDeAscaniis.pptx.....case passive_GiorgiaDeAscaniis.pptx.....
case passive_GiorgiaDeAscaniis.pptx.....
 
LE ALGHE.pptx ..........................
LE ALGHE.pptx ..........................LE ALGHE.pptx ..........................
LE ALGHE.pptx ..........................
 
Scienza Potere Puntoaaaaaaaaaaaaaaa.pptx
Scienza Potere Puntoaaaaaaaaaaaaaaa.pptxScienza Potere Puntoaaaaaaaaaaaaaaa.pptx
Scienza Potere Puntoaaaaaaaaaaaaaaa.pptx
 

Appunti di Elaborazione automatica dei dati: il simplesso

  • 1. Il MACHEMAZZ: L’ALGORITMO DEL SIMPLESSO www.profland.135.it 1
  • 2. Si ricorda che: l'uso degli appunti qui presenti è consentito per solo uso personale e di studio; la consultazione è gratuita ed ogni forma atta a ricavarne lucro è vietata! gli appunti sono fatti da studenti che non possono assumersi nessuna responsabilità in merito; il materiale qui presente non è sostitutivo ma complementare ai libri di testo: - devi (e ti consiglio) di consultare e comprare i libri di testo; il materiale qui presente è distribuito con licenza Creative Commons Ti ricordo che se vuoi contribuire mandando degli appunti o quant'altro possa essere utile ad altri puoi farlo inviando il materiale tramite: http://profland.altervista.org/mail.htm Profman Il file è stato scaricato/visualizzato in forma gratuita da Profland: http://profland.altervista.org sezione Profstudio http://profland.altervista.org/profstudio/profstudio.htm oppure da qualche mirror, come: www.profland.cjb.net www.profland.135.it o dalla pagina dedicata su slideshare.net: www.slideshare.net/profman www.profland.135.it 2
  • 3. Problemi di ottimizzazione Nel campo economico e finanziario molti problemi possono essere descritti mediante modelli matematici di ricerca di un minimo o di un massimo di una funzione di una o più variabili, soggetta o meno a restrizioni. Questi problemi, definiti di ottimizzazione, nella loro formulazione matematica, richiedono l’individuazione di:  variabili decisionali: descrivono quantitativamente le decisioni da prendere, quantizzando il problema;         funzione obiettivo lineare: rappresenta l’oggetto da massimizzare o minimizzare ed è funzione delle variabili, graficamente (in un sistema a 2 dimensioni) è raffigurata da una retta      vincoli lineari: descrivono le limitazioni da imporre alle variabili; possono essere disequazioni o equazioni di tipo lineare. 3
  • 4. Tutto ciò rappresenta un modello di programmazione lineare, nell’ambito del quale: si può ricondurre un problema di minimo ad uno di massimo e viceversa considerando la funzione opposta: min f(x) = - max f(x); possono ricondursi i vincoli di uguaglianza a vincoli di disuguaglianza, i vincoli di minore a vincoli di maggiore e, viceversa, moltiplicando entrambi i membri della disequazione per la quantità (-1). Si avranno sempre vincoli di non-negatività sulle grandezze input per impedire che l’output assuma valori negativi e quindi inaccettabili per il significato economico. I vincoli di disequazioni rappresentano graficamente una parte di piano. L’insieme di vincoli, quindi, costituisce la regione delle soluzioni ammissibili. L’insieme di queste ultime costituisce un poliedro complesso e la soluzione di massimo (o minimo) che si ricerca è in un vertice di questa stessa figura bidimensionale. www.profland.135.it 4
  • 5. Se i vincoli, per quanto numerosi, sono limitati a 2 o 3 variabili, il problema può essere generalmente risolto con il metodo grafico Tecnica geometrica  1. si rappresentano graficamente i vincoli di disuguaglianza dopo aver risolto ciascuna equazione, rispetto alla prima variabile in termini della seconda variabile; 2.si traccia su un altro grafico il campo delle soluzioni ammissibili; 3. si calcola l’inclinazione della funzione obiettivo, facendo assumere ad una riga questa stessa inclinazione e spostandola poi fino al punto di contatto con la funzione obiettivo; 4 dal punto di contatto appena trovato si traccia una linea, ad esempio, tratteggiata; 5. si leggono poi i valori critici delle variabili in corrispondenza del punto di contatto, e si stima la funzione obiettivo in corrispondenza di questi valori. www.profland.135.it 5
  • 6. Tecniche algebriche (simplesso) Nel trasformare i vincoli di “minore o uguale” si aggiunge una quantità positiva (S 1) al primo membro della disequazione e si ottiene un’equazione equivalente x1 + x2 ≤ 10 aggiungendo una variabile positiva diventa x1 + x2 + S1 = 10 (con S1 ≥ 0) La variabile S1 è detta variabile slack (ovvero fittizie, inattive) ed è già implicitamente definita nel vincolo espresso con la disequazione. Nel trasformare i vincoli di “maggiore o uguale” in equazioni, si sottrae una quantità S 2 al primo membro della disequazione, ottenendo x1 + x2 ≥ 10 sottraendo la variabile S2 diventa x1 + x2 - S2 = 10 anche la variabile S2 è detta variabile slack ed è già implicitamente definita nel vincolo espresso con la disequazione. Si rileva che con l’introduzione delle variabili slack aumenta la dimensione dello spazio delle soluzioni ammissibili: in altre parole aumenta il numero delle incognite, rimane invariato il numero delle equazioni, e quindi si può ipotizzare un numero di equazioni (m) inferiore al numero di incognite (n). Ne consegue che se il rango della matrice è inferiore al numero delle incognite il sistema ammetterà infinite soluzioni. www.profland.135.it 6
  • 7. Prima di illustrare l’idea alla base del metodo del simplesso bisogna illustrare le seguenti proprietà: L’idea del simplesso è la seguente: si parte da un vertice (per costruzione l’origine) a cui corrisponde un valore della funzione obiettivo, si cerca poi di passare ad un’altra soluzione ammissibile di base, relativa ad un vertice adiacente, tale che il valore corrispondente della funzione obiettivo sia maggiore del precedente; quando non si passa più da un vertice ad un altro, vuol dire che si è trovato il massimo valore a cui corrisponde la funzione obiettivo. www.profland.135.it 7
  • 8.  A priori il problema deve avere soluzioni immettendo il vincolo di positività di termini noti. La procedura è la seguente: 1.     determinare una soluzione iniziale ammissibile di base; 2.    se la soluzione è ottima, stop; altrimenti proseguire in sequenza; 3.    determinare, tra le variabili non basiche, la variabile xr che deve entrare a far parte delle variabili basiche; 4.    determinare tra le variabili basiche la variabile x k che si deve scambiare con xr e che quindi deve diventare non basica; 5. calcolare le coordinate del vertice adiacente – individuato precedentemente – che rappresenta la nuova soluzione corrente ammissibile di base e proseguire dal passo 2. www.profland.135.it 8
  • 9. Algoritmo del simplesso Metodo del simplesso standard: [illim,fo,x]=simplesso(A,b,c,maxit) risolve il problema di programmazione lineare max cx con i vincoli: • Ax<=b • x(i)>=0 per ogni i • b(i)>=0 per ogni i www.profland.135.it 9
  • 10. [illim,fo,x]=simplesso(A,b,c,maxit) INPUT: A = matrice dei coefficienti dei vincoli b = vettore colonna dei termini noti delle (dis)equazioni di vincolo c = vettore riga dei coefficienti della funzione obiettivo maxit = numero di passi prima di individuare una possibile iterazione www.profland.135.it 10
  • 11. [illim,fo,x]=simplesso(A,b,c,maxit) OUTPUT: La funzione restituisce in x il valore della soluzione ottima e in fo il valore della funzione obiettivo se il problema ammette ottimo finito (illim=0). illim 1 SE il problema non ammette ottimo 2 SE i dati forniti non sono corretti (in tal caso x e fo sono vuoti) illim = 3 SE è probabile una ciclicità www.profland.135.it 11
  • 12. INIZIO Controllo della correttezza dei dati Isempty SI ON (find(b<0)) NOma == mb SI NOna == nc SI Costruzione della prima tavola Inizializzazione Errore Individuazione dell'indice della variabile entrante Errore Iterazioni Errore www.profland.135.it 12 FINE
  • 13. Controllo della correttezza dei dati ma = numero di righe della matrice A >> [ma,na]=size(A); na = numero di colonne della matrice A mb = numero di righe del vettore b >> [mb,nb]=size(b); nb = numero di colonne del vettore b mc= numero di righe del vettore c >> [mc,nc]=size(c); nc= numero di colonne del vettore c Data una matrice X di m righe ed n colonne, [m,n]=size(X) restituisce: m = numero di righe di X 13 n = numero di colonne di X
  • 14. Controllo della correttezza dei dati >> if nb~=1 Un vettore colonna è tale se possiede solo >> b=b'; una colonna. Se nb (che esprime il numero di colonne di b) non è pari ad uno, è chiaro che >> mb=nb; b non è un vettore colonna. >> nb=1; Probabilmente, l'utente lo ha passato come vettore riga; si opera quindi la trasposizione e >> end si ridefinisce mb e nb. Un vettore riga è tale se possiede solo una >> if mc~=1 riga. Se mc (che esprime il numero di righe di >> c=c'; c) non è pari ad uno, è chiaro che c non è un vettore riga. >> nc=mc; Probabilmente, l'utente lo ha passato come >> mc=1; vettore colonna; si opera quindi la >> end trasposizione e si ridefinisce mc e nc. 14
  • 15. if isempty(find(b<0)) L'applicazione del metodo del simplesso per la risoluzione di problemi economici di ottimizzazione implica che i termini noti delle (dis)equazioni di vincolo non siano negativi (altrimenti verrebbe meno il significato economico di tali vincoli) Pertanto: viene attivata la ricerca (mediante FIND) degli elementi di b eventualemente negativi e, se questi sono presenti: è visualizzato un messaggio di errore, nel quale si dichiara che i termini noti ("componenti di b") non possono assumere valori negativi www.profland.135.it 15
  • 16. Occorre verificare la compatibilità tra A e b, if ma==mb ovvero se il numero di righe delle due strutture (matriciale l'una, vettoriale l'altra) sia identico Analogamente, si rende necessaria la verifica della compatibilità tra A e c, ovvero se il if na==nc numero di colonne delle due strutture (matriciale l'una, vettoriale l'altra) sia identico Qualora tale compatibilità manchi, • è predisposta la segnalazione di uno specifico MESSAGGIO DI ERRORE, • si pone illim=2, • si pongono gli output fo e x vettori vuoti www.profland.135.it 16
  • 17. Costruzione della prima tavola A=[A, eye(ma)]; c=[-c,zeros(1,ma)]; Ab=[b,A]; T=[fo,c;Ab]; [mt,nt]=size(T); fo=0; Inizializzazione iB=na+1:na+ma; it=0; illim=0; Individuazione dell'indice della variabile entrante [cmin,r]=min(T(1,2:nt)); cmin= valore più piccolo tra quelli rt=r+1; selezionati; www.profland.135.it r = suo indice all'interno del vettore esaminato 17 da min
  • 18. Iterazioni while cmin<0 & ~illim & it<maxit lim=find(T(2:mt,rt)>0) 0 1 isempty(lim) Individuazione dell'indice Errore della variabile uscente Sostituzione della illim=1 variabile nella base Definizione delle variabili di output Individuazione dell'indice della variabile entrante Incremento di rt e it, da utilizzare come parametri per il passo successivo 18
  • 19. in matlab… % Individuazione dell'indice della variabile uscente [rmin,k]=min(T(lim+1,1)./T(lim+1,rt)); k=lim(k); kt=k+1; T=gj1(T,rt,kt); % Sostituzione della variabile nella base iB(k)=r; % Definizione delle variabili di output fo=T(1,1); x=zeros(1,na+ma); x(iB)=T(2:mt,1); % Individuazione dell'indice della variabile entrante [cmin,r]=min(T(1,2:nt)); % Incremento di rt e it, da utilizzare come parametri per il passo successivo rt=r+1; it=it+1; 19
  • 20. Il file è stato scaricato/visualizzato in forma gratuita da Profland: http://profland.altervista.org sezione Profstudio http://profland.altervista.org/profstudio/profstudio.htm oppure da qualche mirror, come: www.profland.cjb.net www.profland.135.it o dalla pagina dedicata su slideshare.net: www.slideshare.net/profman www.profland.135.it 20