{"version":3,"sources":["webpack:///./components/Example.less","webpack:///./components/OttimizzazioneLineare/Styles.less","webpack:///./components/MenuList.less","webpack:///./routes/OttimizzazioneLineare/index.js","webpack:///./routes/OttimizzazioneLineare/00_Intro.js","webpack:///./components/OttimizzazioneLineare/Max.js","webpack:///./components/OttimizzazioneLineare/Finite.js","webpack:///./components/MenuList.js","webpack:///./components/OttimizzazioneLineare/Empty.js","webpack:///./routes/OttimizzazioneLineare/03_TeoriaDeiGrafi.js","webpack:///./routes/OttimizzazioneLineare/01_OttimizzazioneLineare.js","webpack:///./components/Fisica/Minus.js","webpack:///./components/OttimizzazioneLineare/Unbounded.js","webpack:///./components/OttimizzazioneLineare/Min.js","webpack:///./components/Fisica/Minus.less","webpack:///./components/Fisica/Plus.less","webpack:///./components/Example.js","webpack:///./components/ExampleBoxColor.js","webpack:///./components/Fisica/Plus.js","webpack:///./routes/OttimizzazioneLineare/02_OttimizzazioneLineareIntera.js","webpack:///./components/ExampleBoxColor.less"],"names":["module","exports","r","String","raw","title","href","props","class","style","max","children","finite","menulist","unfeasible","src","inline","color","ExampleBoxColor","className","minus","unbounded","min","example","plus"],"mappings":"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","file":"route-OttimizzazioneLineare.chunk.38899.js","sourcesContent":["// extracted by mini-css-extract-plugin\nmodule.exports = {\"red\":\"red__2y1B_\",\"orange\":\"orange__dD2kx\",\"yellow\":\"yellow__OEpwl\",\"lime\":\"lime__CVe41\",\"cyan\":\"cyan__26ZAg\",\"blue\":\"blue__LO7Xm\",\"magenta\":\"magenta__1Akee\",\"example\":\"example__2PzAa\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"red\":\"red__UmOgB\",\"orange\":\"orange__1FTS8\",\"yellow\":\"yellow__3dJAV\",\"lime\":\"lime__3kPc-\",\"cyan\":\"cyan__11RpC\",\"blue\":\"blue__320AC\",\"magenta\":\"magenta__VPUPe\",\"unbounded\":\"unbounded__25UN8\",\"unfeasible\":\"unfeasible__2MuIF\",\"finite\":\"finite__2EP_f\",\"min\":\"min__3lPpn\",\"max\":\"max__1hxKl\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"menulist\":\"menulist__2Cmnq\"};","import Intro from \"./00_Intro\";\nimport OttimizzazioneLineare from \"./01_OttimizzazioneLineare\";\nimport OttimizzazioneLineareIntera from \"./02_OttimizzazioneLineareIntera\";\nimport TeoriaDeiGrafi from \"./03_TeoriaDeiGrafi\";\n\n\nexport default function () {\n return (\n
\n

Ottimizzazione Lineare Intera

\n \n \n \n \n
\n )\n}\n","import {Fragment} from \"preact\";\nimport {Section, Panel, BLatex, TablePanel} from \"bluelib\";\nimport Link from \"../../components/Link\";\nimport MenuList from \"../../components/MenuList\";\n\nconst r = String.raw;\n\n\nexport default function () {\n return (\n \n
\n \n
    \n
  • Prof. Stefano Novellani
  • \n
\n
\n \n

\n Esame digitale in 3 fasi:\n

\n
    \n
  • 25 domande di teoria stile vero/falso
  • \n
  • 2 domande a risposta aperta
  • \n
  • 2 modelli matematici da rappresentare tramite GLPK/MathProg
  • \n
\n
\n
\n
\n \n

\n Ti serve una mano anche in GLPK? Che in realtà si chiama GMPL, ma vabbè...\n

\n

\n Ho fatto una pagina apposta:\n

\n \n
  • GLPK/MathProg/GMPL
  • \n
    \n
    \n
    \n
    \n \n \n \n v\n s\n Significato\n \n \n \n \n {r`\\mathbf{x}`}\n {r`x_i`}\n Incognite\n \n \n {r`\\mathbf{s}`}\n {r`s_i`}\n Variabili slack\n \n \n {r`\\mathbf{c}`}\n {r`c_i`}\n Coefficienti della funzione obiettivo\n \n \n {r`\\mathbf{A}`}\n {r`a_{ij}`}\n Coefficienti dei vincoli\n \n \n {r`\\mathbf{b}`}\n {r`b_i`}\n Termini noti dei vincoli\n \n \n {r`\\mathbf{y}`}\n {r`y_i`}\n Incognite artificiali\n \n \n {r`\\mathbf{u}`}\n {r`u_i`}\n Coefficienti di rilassamento\n \n \n \n {r`c_0`}\n Valore ottimo di un problema\n \n \n {r`\\mathbf{x}_B`}\n \n Incognite in base\n \n \n {r`\\mathbf{c}_B`}\n \n Coefficienti della funzione obiettivo delle variabili in base\n \n \n {r`\\mathbf{B}`}\n \n Coefficienti dei vincoli delle variabili in base\n \n \n {r`\\mathbf{x}_F`}\n \n Incognite fuori base\n \n \n {r`\\mathbf{c}_F`}\n \n Coefficienti della funzione obiettivo delle variabili fuori base\n \n \n {r`\\mathbf{F}`}\n \n Coefficienti dei vincoli delle variabili fuori base\n \n \n \n \n \n \n Simboli\n Significato\n \n \n \n \n {r`\\mathbf{c}^T \\mathbf{x}`}\n Soluzione del problema\n \n \n {r`\\mathbf{A} \\mathbf{x} = \\mathbf{b}`}\n Vincoli in forma standard\n \n \n {r`z(\\dots)`}\n Funzione obiettivo\n \n \n {r`\\mathbf{u}^T \\mathbf{b}`}\n Soluzione del problema duale\n \n \n {r`\\mathbf{u}^T \\mathbf{A} = \\mathbf{c}^T`}\n Vincoli del problema duale in forma standard\n \n \n {r`\\lfloor x \\rfloor`}\n Arrotondamento per difetto di x\n \n \n {r`\\lceil x \\rceil`}\n Arrotondamento per eccesso di x\n \n \n {r`x - \\lfloor x \\rfloor`}\n Parte frazionaria di x (se non è negativo)\n \n \n \n
    \n
    \n )\n}\n","import style from \"./Styles.less\";\n\nexport default function (props) {\n return (\n {props.children ? props.children : \"max\"}\n );\n}\n","import style from \"./Styles.less\";\n\nexport default function (props) {\n return (\n {props.children ? props.children : \"finito\"}\n );\n}\n","import style from \"./MenuList.less\";\n\nexport default function(props) {\n return (\n \n )\n}","import style from \"./Styles.less\";\n\nexport default function (props) {\n return (\n {props.children ? props.children : \"vuoto\"}\n );\n}\n","import {Fragment} from \"preact\";\nimport {Section, Panel, ILatex, BLatex, PLatex, Todo, BaseLink, Image} from \"bluelib\";\nimport Example from \"../../components/Example\";\n\nconst r = String.raw;\n\n\nexport default function () {\n return (\n \n
    Terminologia dei grafi TODO: migliorare}>\n \n

    \n Insieme di nodi {r`N`} e archi {r`E`} che li\n connettono.\n

    \n

    \n Può essere diretto se gli archi hanno una direzione.\n

    \n
    \n \n

    \n Nodi connessi da un arco.\n

    \n
    \n \n

    \n Arco connesso a un dato nodo.\n

    \n
    \n \n

    \n Un arco diretto che termina o inizia da un dato nodo.\n

    \n
    \n \n

    \n Conteggio degli archi incidenti di un nodo.\n

    \n

    \n Si può calcolare anche relativamente agli archi entranti o agli archi uscenti.\n

    \n
    \n \n

    \n Sequenza di archi consecutivi.\n

    \n
    \n \n

    \n Due nodi sono connessi se tra loro esiste almeno un percorso.\n

    \n

    \n Un grafo è connesso se tutti i suoi nodi sono connessi.\n

    \n
    \n \n

    \n Percorsi rispettivamente indiretti e diretti in cui l'inizio coincide con la fine.\n

    \n
    \n \n

    \n Grafo in cui ogni nodo è connesso con ogni altro.\n

    \n

    \n Se diretto, contiene {r`n \\cdot (n - 1)`} archi; altrimenti, ne contiene la\n metà.\n

    \n
    \n \n
    \n Vedi Algoritmi.\n
    \n
    \n \n
    \n Vedi Algoritmi.\n
    \n
    \n \n

    \n Sottoinsieme di archi che connettono due sottoinsiemi di nodi.\n

    \n

    \n Può essere anche uscente o entrante; in tal caso include solo gli archi entranti o uscenti dal\n sottoinsieme.\n

    \n
    \n \n

    \n Sottoinsieme di nodi e archi di un grafo.\n

    \n

    \n Tutti gli archi di un sottografo possono connettere solo nodi all'interno di esso.\n

    \n
    \n \n

    \n Sottografo connesso e aciclico.\n

    \n
    \n \n

    \n Albero che include tutti i nodi di un grafo.\n

    \n
    \n
    \n
    \n \n

    \n Crea uno spanning tree.\n

    \n
      \n
    1. Aggiungi l'arco di costo minimo all'albero.
    2. \n
    3. Finchè mancano ancora archi:\n
        \n
      1. Trova tutti gli archi che aggiungerebbero un nuovo nodo all'albero.
      2. \n
      3. Seleziona l'arco di costo minore.
      4. \n
      \n
    4. \n
    \n
    \n \n

    \n Trova l'ordine topologico di un albero.\n

    \n
      \n
    1. Ripeti finchè ci sono nodi nel grafo:\n
        \n
      1. Assegna un numero sequenziale a un nodo senza archi entranti.
      2. \n
      3. Elimina il nodo a cui hai assegnato il numero.
      4. \n
      5. Elimina tutti gli archi incidenti sul nodo che hai eliminato.
      6. \n
      \n
    2. \n
    \n
    \n \n

    \n Trova i percorsi di costo minimo in un albero.\n

    \n
      \n
    1. Trova l'ordine topologico dell'albero.
    2. \n
    3. Invece che provare ogni singola combinazione di nodi, prova solo i nodi che hanno un numero\n topologico maggiore di quello del nodo attuale.\n
    4. \n
    \n

    \n TODO: forse spiegarlo meglio non farebbe male\n

    \n
    \n \n
    \n Vedi Algoritmi.\n
    \n
    \n \n \n Trova il volume massimo di acqua che è possibile fare scorrere attraverso tubature con una data\n capacità.\n \n

    \n Costruisci il grafo residuo e vedi se c'è un percorso che va dalla sorgente alla destinazione.\n

    \n

    \n \n

    \n

    \n \n

    \n
    \n
    \n
    \n )\n}\n","import {Fragment} from \"preact\";\nimport {Section, Panel, ILatex, BLatex, PLatex, Latex, BaseLink, Todo} from \"bluelib\";\nimport Min from \"../../components/OttimizzazioneLineare/Min\";\nimport Max from \"../../components/OttimizzazioneLineare/Max\";\nimport Example from \"../../components/Example\";\nimport Finite from \"../../components/OttimizzazioneLineare/Finite\";\nimport Empty from \"../../components/OttimizzazioneLineare/Empty\";\nimport Unbounded from \"../../components/OttimizzazioneLineare/Unbounded\";\nimport Plus from \"../../components/Fisica/Plus\";\nimport Minus from \"../../components/Fisica/Minus\";\nimport ExampleBoxColor from \"../../components/ExampleBoxColor\";\n\nconst r = String.raw;\n\n\nexport default function () {\n return (\n \n
    \n \n

    \n Problemi che cercano di minimizzare/massimizzare il valore di una funzione\n obiettivo le cui incognite sono sottoposte a un sistema di vincoli.\n

    \n

    \n Spesso sono detti anche problemi di LP.\n

    \n
    \n \n

    \n La funzione da minimizzare/massimizzare.\n

    \n

    \n Il vettore dei suoi coefficienti è detto {r`\\mathbf{c}`}, mentre quello delle sue\n incognite {r`\\mathbf{x}`}.\n

    \n

    \n In genere, la funzione obiettivo è scritta in forma di combinazione lineare tra le incognite e i coefficienti:\n

    \n

    \n {r`z(\\mathbf{x}) = c_1 \\cdot x_1 + c_2 \\cdot x_2 + \\dots + c_n \\cdot x_n`}\n

    \n
    \n \n

    \n Funzione della funzione obiettivo che restituisce la direzione del suo aumento più\n veloce.\n

    \n

    \n {r`\\nabla (f) = \\frac{d f}{d x_1} I_1 + \\frac{d f}{d x_2} I_2 + \\frac{d f}{d x_n} I_n`}\n

    \n \n La matrice {r`\\mathbf{I}`} è la matrice identità.\n \n \n Se la funzione obiettivo è z = 2w + 3x + 4y, il suo gradiente\n è {r`\\nabla z = (2, 3, 4)`}.\n \n
    \n \n

    \n Equazioni e disequazioni a cui devono sottostare le incognite perchè esse formino una soluzione\n valida.\n

    \n

    \n I loro coefficienti sono contenuti nella matrice {r`\\mathbf{A}`}, mentre i loro\n termini noti nel vettore {r`\\mathbf{b}`}.\n

    \n
    \n \n

    \n L'insieme che racchiunde tutte le soluzioni ammissibili di un problema.\n

    \n

    \n Può essere , oppure .\n

    \n \n Si chiama così perchè se si disegna su un piano cartesiano, esso forma una figura geometrica a\n più lati, ovvero un poliedro.\n \n
    \n \n

    \n La soluzione di un problema, ricavabile dal\n prodotto {r`\\mathbf{c}^T \\mathbf{x}`}.\n

    \n

    \n In particolare, il valore ottimo è un vertice del poliedro, detto vertice ottimo.\n

    \n
    \n
    \n
    \n \n

    \n Un problema con:\n

    \n
      \n
    • Equazioni e disequazioni
    • \n
    • Variabili non vincolate
    • \n
    \n {r`min \\left\\{ \\mathbf{c}^T \\mathbf{x} : \\mathbf{A} \\mathbf{x} = b,\\quad \\mathbf{A'} \\mathbf{x} \\geq \\mathbf{b'} \\quad x_j \\geq 0,\\quad j = 1 \\dots n \\right\\}`}\n
    \n \n

    \n Un problema con:\n

    \n
      \n
    • Solo disequazioni
    • \n
    • Vincoli di non-negatività sulle incognite
    • \n
    \n {r`min \\left\\{ \\mathbf{c}^T \\mathbf{x} : \\mathbf{A} \\mathbf{x} \\geq b,\\quad x_j \\geq 0,\\quad j = 1 \\dots n \\right\\}`}\n
    \n \n

    \n Un problema con:\n

    \n
      \n
    • Solo equazioni
    • \n
    • Vincoli di non-negatività sulle incognite
    • \n
    \n {r`min \\left\\{ \\mathbf{c}^T \\mathbf{x} : \\mathbf{A} \\mathbf{x} = b,\\quad x_j \\geq 0,\\quad j = 1 \\dots n \\right\\}`}\n
    \n
    \n
    \n \n

    \n Applica questa conversione a ogni equazione nel sistema:\n

    \n

    \n {r`\n a = b \\Leftrightarrow\n \\begin{cases}\n a \\leq b\\\\\n a \\geq b\n \\end{cases}\n `}\n

    \n Serve solo nella teoria per dimostrare che le forme sono equivalenti.\n
    \n \n

    \n Aggiungi una variabile slack {r`s`} non-vincolata a ogni\n disequazione nel sistema:\n

    \n

    \n {r`\n a \\leq b \\Leftrightarrow a + s = b\n `}\n

    \n

    \n {r`\n a \\geq b \\Leftrightarrow a - s = b\n `}\n

    \n
    \n \n

    \n Sdoppia ogni variabile non-vincolata in due variabili con vincolo di non-negatività:\n

    \n

    \n {r`\n \\begin{cases}\n a = a^+ - a^-\\\\\n a^+ \\geq 0\\\\\n a^- \\geq 0\n \\end{cases}\n `}\n

    \n
    \n
    \n
    \n \n

    \n Un modo per rappresentare sistemi in forma standard, anche noto come matrice equivalente\n completa del sistema.\n

    \n
    \n \n

    \n Un tableau è un sistema di equazioni in forma matriciale completa.\n

    \n

    \n È possibile effettuare senza che cambi il risultato finale le seguenti trasformazioni:\n

    \n
      \n
    • Moltiplicare un'intera riga per una costante.
    • \n
    • Sommare una riga a un'altra
    • \n
    \n \n Suona familiare? Sì, lo abbiamo fatto anche in Algebra Lineare.\n \n
    \n \n

    \n Variabili che hanno tutti 0 e un solo 1 nella loro colonna del tableau.\n

    \n

    \n La loro controparte sono le variabili fuori base, che hanno qualsiasi altro valore.\n

    \n
    \n \n

    \n Il valore della funzione obiettivo che si otterrebbe se tutte le variabili fuori base\n valessero 0.\n

    \n

    \n Procedendo nella risoluzione (descritta in seguito) del tableau, questo valore aumenterà, fino a\n raggiungere il valore ottimo quando la risoluzione sarà completata.\n

    \n
    \n
    \n
    \n \n

    \n Il sistema:\n

    \n {r`\n \\begin{cases}\n 1x_1\\ {\\color{Cyan} \\leq}\\ {\\color{Red} 3}\\\\\n 1x_2\\ {\\color{Cyan} \\leq}\\ {\\color{Red} 3}\\\\\n 2x_1 + 2x_2\\ {\\color{Cyan} \\leq}\\ {\\color{Red} 7}\\\\\n {\\color{Yellow} \\min}\\ {\\color{Green} 2000x_1 + 1000x_2}\n \\end{cases}\n `}\n

    \n Diventa il tableau:\n

    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    x_1x_2s_1s_2s_3TN
    101003
    010103
    220017
    200010000000
    \n

    \n Con i seguenti elementi:\n

    \n
      \n
    • \n Funzione obiettivo\n
    • \n
    • \n Valore attuale\n
    • \n
    • \n Termini noti\n
    • \n
    • \n Variabili slack\n
    • \n
    \n
    \n
    \n
    \n \n

    \n Un algoritmo per trovare efficientemente il valore ottimo e le coordinate di un vertice\n ottimo in problemi di ottimizzazione lineare.\n

    \n \n Ricordi Gauss? Il Simplex è la stessa cosa,\n in cui però si cerca di minimizzare/massimizzare il termine noto della funzione obiettivo.\n \n \n Questa è la soluzione passo per passo del\n problema 3 del file Ex_LP_testo.\n \n

    \n Perchè sia possibile effettuare il Simplex è necessario che l'origine sia nel poliedro:\n pertanto, non è possibile che un problema risolto con il Simplex sia .\n

    \n
    \n \n
      \n
    1. Trasforma il sistema in forma standard.
    2. \n
    3. Trova tante variabili linearmente indipendenti quante siano le righe: esse saranno\n la base iniziale.\n
    4. \n
    5. Finchè ci sono variabili con coefficienti positivi/negativi nella\n funzione obiettivo:\n
        \n
      1. \n

        \n Scegli la prima variabile fuori base con\n coefficiente positivo/negativo nella funzione obiettivo: essa\n è la variabile entrante.\n

        \n \n
      2. \n
      3. \n

        \n Scegli la variabile in base con il minor rapporto\n positivo:\n

        \n {r`\\frac{b_i}{A_ik}`}\n \n
      4. \n
      5. \n

        \n Pivot: trasforma tutte le funzioni del sistema in modo che abbiano 0\n nella colonna della variabile entrante, tranne nella riga della variabile uscente,\n in cui avrà 1.\n

        \n
      6. \n
      \n
    6. \n
    7. Il poliedro è : i termini noti dei vincoli sono le coordinate del suo\n vertice ottimo, mentre il termine noto della funzione obiettivo è il valore ottimo.\n
    8. \n
    \n
    \n \n

    \n Una soluzione con almeno una variabile di valore 0, dovuta a uno o più vincoli\n ridondanti.\n

    \n

    \n Senza Regola di Bland e in presenza di vincoli ridondanti si rischia di trovarsi a fare\n pivot infiniti.\n

    \n
    \n
    \n
    \n \n

    \n Un estensione del Simplex per permettere la risoluzione di problemi la cui origine non\n è una soluzione ammissibile.\n

    \n

    \n Prevede l'introduzione di un problema ausiliario, le cui incognite sono\n dette artificiali.\n

    \n

    \n Il vettore delle incognite artificiali è solitamente chiamato {r`\\mathbf{y}`}.\n

    \n
    \n \n
      \n
    1. Crea un nuovo tableau, aggiungendo variabili artificiali in modo da avere una base\n ammissibile.\n
    2. \n
    3. Sostituisci la vecchia funzione obiettivo con una nuova che minimizzi la somma di\n tutte le variabili artificiali.\n
    4. \n
    5. Fase 1: Risolvi il nuovo problema con il Simplex primale.
    6. \n
    7. Se il Simplex termina quando ci sono ancora variabili artificiali nella base, allora\n il poliedro è .\n
    8. \n
    9. Una volta che le variabili artificiali sono fuori base, elimina le loro colonne e la\n nuova funzione obiettivo.
    10. \n
    11. Riporta il tableau in forma base compiendo operazioni per azzerare i\n coefficienti delle variabili di base nella funzione obiettivo.\n
    12. \n
    13. Fase 2: Risolvi il tableau con il Simplex primale.
    14. \n
    \n
    \n
    \n
    \n \n

    \n Una versione semplificata di un problema nella quale si ignora la violazione di uno o più\n vincoli.\n

    \n
    \n \n

    \n Un rilassamento che permette di misurare di quanto i vincoli vengono violati.\n

    \n

    \n I vincoli, moltiplicati per coefficienti di rilassamento, vengono inseriti nella funzione\n obiettivo.\n

    \n

    \n Il vettore dei coefficienti di rilassamento solitamente è indicato\n con {r`\\mathbf{u}`}.\n

    \n \n

    \n Il sistema:\n

    \n {r`\n \\begin{cases}\n z = 3 x_1 + 5 x_2\\\\\n 2 x_1 + 3 x_2 \\geq 12\\\\\n - x_1 + 3 x_2 \\geq 3\\\\\n x_1 \\geq 0\\\\\n x_2 \\geq 0\n \\end{cases}\n `}\n

    \n diventa:\n

    \n {r`\n \\begin{cases}\n z = 3 x_1 + 5 x_2 + u_1 ( 12 - 2 x_1 - 3 x_2 ) + u_2 ( 3 + x_1 - 3 x_2 )\\\\\n x_1 \\geq 0\\\\\n x_2 \\geq 0\n \\end{cases}\n `}\n
    \n
    \n
    \n
    \n \n

    \n Il sistema che massimizza/minimizza i moltiplicatori di\n rilassamento di un problema detto primale.\n

    \n
    \n \n

    \n Possiamo trasporre il tableau e sostituire le variabili {r`x_n`} con\n variabili {r`u_n`} per ottenere il sistema duale!\n

    \n

    \n I maggiori e minori dei vincoli diventeranno maggiori e minori delle variabili e viceversa.\n

    \n
    \n \n
      \n
    • Se un problema ha una soluzione finita, allora anche il suo duale la avrà.
    • \n
    • Se un problema è , allora il suo duale potrà\n essere oppure .\n
    • \n
    • Se un problema è , allora il suo duale sarà certamente .
    • \n
    \n
    \n \n

    \n Variabili e vincoli del duale corrispondono rispettivamente a vincoli e variabili del primale.\n

    \n

    \n In particolare:\n

    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    MinMax
    Vincolo \\leqVariabile \\leq
    Vincolo \\geqVariabile \\geq
    Vincolo =Variabile libera
    Variabile \\leqVincolo \\geq
    Variabile \\geqVincolo \\leq
    Variabile liberaVincolo =
    \n
    \n
    \n
    \n \n

    \n Una disuguaglianza lineare {r`c_0 \\leq \\mathbf{c}^T \\mathbf{x}`} è verificata da\n tutti i punti di un poliedro non- se e solo se esiste un\n vettore {r`u \\in \\mathfrak{R}^m`} tale che:\n

    \n {r`\\mathbf{c}^T \\geq \\mathbf{u}^T \\mathbf{A}`}\n {r`c_0 \\leq \\mathbf{u}^T \\mathbf{b}`}\n
    \n \n

    \n Il teorema che dimostra l'equivalenza tra primale e duale.\n

    \n

    \n Se uno dei due problemi è finito, la soluzione di uno coincide con la soluzione dell'altro.\n

    \n

    \n {r`\\mathbf{c}^T \\mathbf{x} = \\mathbf{u}^T \\mathbf{b}`}\n

    \n

    \n TODO: Anche qui c'è una lunga dimostrazione...\n

    \n
    \n \n

    \n Il teorema che dimostra che il valore della funzione obiettivo del duale (di un qualsiasi\n tableau) è sempre minore o uguale/maggiore o uguale alla soluzione del\n corrispettivo primale.\n

    \n

    \n TODO: Dimostrazione cortina, ma sembra complicata.\n

    \n
    \n \n

    \n Il teorema che ci permette di passare dalla soluzione del duale alla soluzione del\n primale. TODO: credo?\n

    \n

    \n Si deriva combinando le seguenti condizioni:\n

    \n
      \n
    • Ammissibilità del\n primale: {r`\\mathbf{A} \\mathbf{X} \\geq \\mathbf{b}, \\quad \\mathbf{x} \\geq 0`}\n
    • \n
    • Ammissibilità del\n duale: {r`\\mathbf{u}^T \\mathbf{A} \\leq \\mathbf{c}^T, \\quad \\mathbf{u} \\geq 0`}\n
    • \n
    • Teorema della dualità\n forte: {r`\\mathbf{c}^T \\mathbf{x} = \\mathbf{u}^T \\mathbf{b}`} (alla soluzione\n ottima)\n
    • \n
    \n

    \n Ne risulta che una soluzione è ottima se e solo se:\n

    \n {r`\\left( \\mathbf{c}^T - \\mathbf{u}^T \\mathbf{A} \\right) \\mathbf{x} = 0`}\n {r`\\mathbf{u}^T \\left( \\mathbf{A} \\mathbf{x} - \\mathbf{b} \\right) = 0`}\n
    \n
    \n
    \n \n

    \n Un'estensione al Simplex primale che opera sul problema duale.\n

    \n
    \n \n

    \n Funziona esattamente come il Simplex primale, ma opera sul duale.\n

    \n
    \n
    \n
    \n \n

    \n Un procedimento che misura di quanto può variare il termine noto di un\n vincolo {r`b_i`} o il coefficiente della funzione\n obiettivo {r`c_i`} prima che la base degeneri.\n

    \n
    \n
    \n
    \n )\n}\n","import style from \"./Minus.less\";\n\nexport default function (props) {\n return {props.children};\n}\n","import style from \"./Styles.less\";\n\nexport default function (props) {\n return (\n {props.children ? props.children : \"illimitato\"}\n );\n}\n","import style from \"./Styles.less\";\n\nexport default function (props) {\n return (\n {props.children ? props.children : \"min\"}\n );\n}\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"red\":\"red__3phX0\",\"orange\":\"orange__1OSkI\",\"yellow\":\"yellow__2pQOr\",\"lime\":\"lime__3vRUg\",\"cyan\":\"cyan__1cBtG\",\"blue\":\"blue__1G1wb\",\"magenta\":\"magenta__3Wagv\",\"minus\":\"minus__2qLyv\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"red\":\"red__ipSoq\",\"orange\":\"orange__1nmkj\",\"yellow\":\"yellow__353ge\",\"lime\":\"lime__3FW1E\",\"cyan\":\"cyan__2xhu7\",\"blue\":\"blue__3MvDe\",\"magenta\":\"magenta__i03ie\",\"plus\":\"plus__1eV4_\"};","import style from \"./Example.less\";\n\nexport default function (props) {\n return (\n
    \n {props.children}\n
    \n );\n}\n","import style from \"./ExampleBoxColor.less\";\n\nexport default style.example;\n","import style from \"./Plus.less\";\n\nexport default function (props) {\n return {props.children};\n}\n","import {Fragment} from \"preact\";\nimport {Section, Panel, ILatex, BLatex, PLatex} from \"bluelib\";\nimport Min from \"../../components/OttimizzazioneLineare/Min\";\nimport Max from \"../../components/OttimizzazioneLineare/Max\";\nimport Example from \"../../components/Example\";\nimport Empty from \"../../components/OttimizzazioneLineare/Empty\";\n\nconst r = String.raw;\n\n\nexport default function () {\n return (\n \n
    \n \n

    \n Particolari problemi di ottimizzazione lineare in cui le variabili sono vincolate ad essere\n numeri interi.\n

    \n {r`\n \\mathbf{x} \\in \\mathbb{Z}^n\n `}\n

    \n Spesso detti anche problemi di ILP.\n

    \n
    \n \n

    \n Un rilassamento che rimuove il vincolo di integrità a un problema, trovando la sua soluzione\n continua.\n

    \n
    \n
    \n
    \n \n

    \n Un modo per passare dalla soluzione del rilassamento alla soluzione intera di un problema\n di ILP.\n

    \n

    \n Consiste nel calcolare la soluzione di ogni singolo punto incluso nel poliedro, e selezionare\n la minore/maggiore.\n

    \n

    \n Trova sicuramente la soluzione giusta, ma il costo computazionale è\n esponenziale O(n^k)!\n

    \n
    \n \n

    \n Un altro modo per passare dalla soluzione del rilassamento alla soluzione intera di un\n problema di ILP.\n

    \n

    \n Consiste nell'arrotondare tutte le variabili al loro valore intero più vicino, e\n calcolarne il valore ottimo.\n

    \n

    \n Funziona bene per valori grandi, ma più essi si avvicinano allo 0 più l'errore diventa\n grande.\n

    \n
    \n \n

    \n Un altro modo ancora per passare dalla soluzione del rilassamento alla soluzione intera\n di un problema di ILP.\n

    \n

    \n Consiste nel tagliare il poliedro con nuovi vincoli (piani secanti) che riducono le\n possibili soluzioni continue ma non quelle intere.\n

    \n

    \n Per selezionare i vincoli, si usano i tagli di Gomory:\n

    \n {r`\n \\sum_{j \\in F} \\left( \\left( a_{tj} - \\lfloor a_{tj} \\rfloor \\right) \\cdot x_j \\right) \\geq (b_t - \\lfloor b_t \\rfloor)\n `}\n

    \n Per ogni valore noto frazionario si viene quindi a creare una nuova variabile in base e\n un nuovo vincolo formato dall'opposto di tutti i valori frazionari dei coefficienti fuori base.\n

    \n \n

    \n Il tableau:\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    {r`x_1`}{r`x_2`}{r`s_1`}{r`s_2`}TN
    {r`1`}{r`1`}{r`0`}{r`0`}{r`0`}
    {r`1`}{r`0`}{r`1`}{r`0`}{r`3`}
    {r`\\frac{3}{2}`}{r`\\frac{1}{2}`}{r`0`}{r`1`}{r`\\frac{6}{5}`}
    \n

    \n

    \n Diventa:\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    {r`x_1`}{r`x_2`}{r`s_1`}{r`s_2`}{r`s_3`}\n TN
    {r`1`}{r`1`}{r`0`}{r`0`}{r`0`}{r`0`}
    {r`1`}{r`0`}{r`1`}{r`0`}{r`0`}{r`3`}
    {r`\\frac{3}{2}`}{r`\\frac{1}{2}`}{r`0`}{r`1`}{r`0`}{r`\\frac{6}{5}`}
    {r`-\\frac{1}{2}`}{r`-\\frac{1}{2}`}{r`0`}{r`0`}{r`1`}{r`-\\frac{1}{5}`}
    \n

    \n
    \n
    \n \n

    \n È possibile usare la tecnica divide et impera per rendere più efficiente l'enumerazione\n totale.\n

    \n

    \n Si divide il problema principale (trovare il valore ottimo di un problema di ILP) in più\n sottoproblemi (trovare il valore ottimo di un problema di ILP con una variabile impostata a un\n valore fisso).\n

    \n

    \n Si crea così un albero.\n

    \n

    \n È possibile chiudere in anticipo alcuni nodi dell'albero se il loro miglior possibile\n valore ottimo è inferiore a uno precedentemente trovato o se il loro poliedro è .\n

    \n

    \n È possibile utilizzare diverse strategie di esplorazione dell'albero:\n

      \n
    • depth-first: permette di raggiungere immediatamente a una soluzione accettabile\n (ma non ottimale)\n
    • \n
    • best-first: permette di raggiungere più velocemente alla soluzione corretta
    • \n
    \n

    \n
    \n \n

    \n È possibile combinare il metodo dei tagli secanti con la tecnica divide et\n impera per raggiungere ancora più velocemente a una soluzione.\n

    \n

    \n Si effettuano poche iterazioni del metodo dei tagli secanti, e sul risultato di quelle\n iterazioni si applica il divide et impera.\n

    \n
    \n
    \n
    \n )\n}\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"red\":\"red__3r1Jz\",\"orange\":\"orange__2q18p\",\"yellow\":\"yellow__3cyw6\",\"lime\":\"lime__2GJfI\",\"cyan\":\"cyan__k_5Y_\",\"blue\":\"blue__ejrIP\",\"magenta\":\"magenta__1Zdi7\",\"example\":\"example__22j7L\"};"],"sourceRoot":""}