mirror of
https://github.com/Steffo99/unisteffo.git
synced 2024-11-26 18:04:20 +00:00
1 line
No EOL
72 KiB
Text
Generated
1 line
No EOL
72 KiB
Text
Generated
{"version":3,"sources":["webpack:///./components/Example.less","webpack:///./components/OttimizzazioneLineare/Styles.less","webpack:///./components/OttimizzazioneLineare/Max.js","webpack:///./components/OttimizzazioneLineare/Finite.js","webpack:///./components/OttimizzazioneLineare/Empty.js","webpack:///./components/Fisica/Minus.js","webpack:///./components/OttimizzazioneLineare/Unbounded.js","webpack:///./components/OttimizzazioneLineare/Min.js","webpack:///./components/Fisica/Minus.less","webpack:///./routes/OttimizzazioneLineare.js","webpack:///./components/Fisica/Plus.less","webpack:///./components/Example.js","webpack:///./components/ExampleBoxColor.js","webpack:///./components/Fisica/Plus.js","webpack:///./components/ExampleBoxColor.less"],"names":["module","exports","props","class","style","max","title","children","finite","unfeasible","minus","unbounded","min","r","String","raw","href","to","Provider","value","inline","color","ExampleBoxColor","className","src","example","plus"],"mappings":"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","file":"route-OttimizzazioneLineare.chunk.9b24e.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\"};","import style from \"./Styles.less\";\n\nexport default function (props) {\n return (\n <abbr class={style.max} title={\"In problemi in cui il primale è di massimizzazione.\"}>{props.children ? props.children : \"max\"}</abbr>\n );\n}\n","import style from \"./Styles.less\";\n\nexport default function (props) {\n return (\n <abbr class={style.finite} title={\"I punti del poliedro sono finiti.\"}>{props.children ? props.children : \"finito\"}</abbr>\n );\n}\n","import style from \"./Styles.less\";\n\nexport default function (props) {\n return (\n <abbr class={style.unfeasible} title={\"Il poliedro non contiene punti.\"}>{props.children ? props.children : \"vuoto\"}</abbr>\n );\n}\n","import style from \"./Minus.less\";\n\nexport default function(props) {\n\treturn <span class={style.minus}>{props.children}</span>;\n}\n","import style from \"./Styles.less\";\n\nexport default function (props) {\n return (\n <abbr class={style.unbounded} title={\"I punti del poliedro sono infiniti.\"}>{props.children ? props.children : \"illimitato\"}</abbr>\n );\n}\n","import style from \"./Styles.less\";\n\nexport default function (props) {\n return (\n <abbr class={style.min} title={\"In problemi in cui il primale è di minimizzazione.\"}>{props.children ? props.children : \"min\"}</abbr>\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\"};","import {\n Section,\n Latex,\n Panel,\n Todo,\n Timer,\n PLatex,\n TablePanel,\n LatexDefaultInline,\n ILatex,\n BLatex,\n BaseLink, Image\n} from \"bluelib\";\nimport Example from \"../components/Example\";\nimport Empty from \"../components/OttimizzazioneLineare/Empty\";\nimport Unbounded from \"../components/OttimizzazioneLineare/Unbounded\";\nimport Finite from \"../components/OttimizzazioneLineare/Finite\";\nimport Min from \"../components/OttimizzazioneLineare/Min\";\nimport Max from \"../components/OttimizzazioneLineare/Max\";\nimport Plus from \"../components/Fisica/Plus\";\nimport Minus from \"../components/Fisica/Minus\";\nimport ExampleBoxColor from \"../components/ExampleBoxColor\";\nimport Link from \"../components/Link\";\n\nconst r = String.raw;\n\n\nexport default function(props) {\n return (\n <div>\n <h1>Ottimizzazione lineare intera</h1>\n <Section title={\"Informazioni\"}>\n <Panel title={\"Contatti\"}>\n <ul>\n <li><a href={\"mailto:stefano.novellani@unimore.it\"}>Prof. Stefano Novellani</a></li>\n </ul>\n </Panel>\n <Panel title={\"Archivio\"}>\n <p>\n Se sei uno <b>studente dell'Unimore</b>, puoi accedere all'<b><a href={\"https://drive.google.com/drive/folders/13q-E6LvXca9uo3sATMZxrhJClqMB0wJu\"}>archivio del corso su Google Drive</a></b>.\n </p>\n </Panel>\n </Section>\n <Section title={\"Esame\"}>\n <Panel title={\"Scritto\"}>\n <p>\n Uno scritto con tre domande:\n </p>\n <ul>\n <li>Progettazione concettuale e logica</li>\n <li>Formulazione interrogazione</li>\n <li>Una domanda tra:\n <ul>\n <li>Studio dato derivato</li>\n <li>Progettazione fisica</li>\n <li>Tecnologia database</li>\n </ul>\n </li>\n </ul>\n </Panel>\n <Panel title={\"Appelli\"}>\n <ol>\n <li><Timer to={\"2020-06-08 09:00\"}/></li>\n <li><Timer to={\"2020-06-25 09:00\"}/></li>\n <li><Timer to={\"2020-07-16 09:00\"}/></li>\n </ol>\n </Panel>\n </Section>\n <LatexDefaultInline.Provider value={false}>\n <Section title={\"Glossario\"}>\n <TablePanel>\n <thead>\n <tr>\n <th><abbr title={\"Vettore / matrice\"}>v</abbr></th>\n <th><abbr title={\"Elemento singolo\"}>s</abbr></th>\n <th>Significato</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <td><Latex>{r`\\mathbf{x}`}</Latex></td>\n <td><Latex>{r`x_i`}</Latex></td>\n <td>Incognite</td>\n </tr>\n <tr>\n <td><Latex>{r`\\mathbf{s}`}</Latex></td>\n <td><Latex>{r`s_i`}</Latex></td>\n <td>Variabili slack</td>\n </tr>\n <tr>\n <td><Latex>{r`\\mathbf{c}`}</Latex></td>\n <td><Latex>{r`c_i`}</Latex></td>\n <td>Coefficienti della funzione obiettivo</td>\n </tr>\n <tr>\n <td><Latex>{r`\\mathbf{A}`}</Latex></td>\n <td><Latex>{r`a_{ij}`}</Latex></td>\n <td>Coefficienti dei vincoli</td>\n </tr>\n <tr>\n <td><Latex>{r`\\mathbf{b}`}</Latex></td>\n <td><Latex>{r`b_i`}</Latex></td>\n <td>Termini noti dei vincoli</td>\n </tr>\n <tr>\n <td><Latex>{r`\\mathbf{y}`}</Latex></td>\n <td><Latex>{r`y_i`}</Latex></td>\n <td>Incognite artificiali</td>\n </tr>\n <tr>\n <td><Latex>{r`\\mathbf{u}`}</Latex></td>\n <td><Latex>{r`u_i`}</Latex></td>\n <td>Coefficienti di rilassamento</td>\n </tr>\n <tr>\n <td/>\n <td><Latex>{r`c_0`}</Latex></td>\n <td>Valore ottimo di un problema</td>\n </tr>\n <tr>\n <td><Latex>{r`\\mathbf{x}_B`}</Latex></td>\n <td/>\n <td>Incognite in base</td>\n </tr>\n <tr>\n <td><Latex>{r`\\mathbf{c}_B`}</Latex></td>\n <td/>\n <td>Coefficienti della funzione obiettivo delle variabili in base</td>\n </tr>\n <tr>\n <td><Latex>{r`\\mathbf{B}`}</Latex></td>\n <td/>\n <td>Coefficienti dei vincoli delle variabili in base</td>\n </tr>\n <tr>\n <td><Latex>{r`\\mathbf{x}_F`}</Latex></td>\n <td/>\n <td>Incognite fuori base</td>\n </tr>\n <tr>\n <td><Latex>{r`\\mathbf{c}_F`}</Latex></td>\n <td/>\n <td>Coefficienti della funzione obiettivo delle variabili fuori base</td>\n </tr>\n <tr>\n <td><Latex>{r`\\mathbf{F}`}</Latex></td>\n <td/>\n <td>Coefficienti dei vincoli delle variabili fuori base</td>\n </tr>\n </tbody>\n </TablePanel>\n <TablePanel>\n <thead>\n <tr>\n <th>Simboli</th>\n <th>Significato</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <td><Latex>{r`\\mathbf{c}^T \\mathbf{x}`}</Latex></td>\n <td>Soluzione del problema</td>\n </tr>\n <tr>\n <td><Latex>{r`\\mathbf{A} \\mathbf{x} = \\mathbf{b}`}</Latex></td>\n <td>Vincoli in forma standard</td>\n </tr>\n <tr>\n <td><Latex>{r`z(\\dots)`}</Latex></td>\n <td>Funzione obiettivo</td>\n </tr>\n <tr>\n <td><Latex>{r`\\mathbf{u}^T \\mathbf{b}`}</Latex></td>\n <td>Soluzione del problema duale</td>\n </tr>\n <tr>\n <td><Latex>{r`\\mathbf{u}^T \\mathbf{A} = \\mathbf{c}^T`}</Latex></td>\n <td>Vincoli del problema duale in forma standard</td>\n </tr>\n <tr>\n <td><Latex>{r`\\lfloor x \\rfloor`}</Latex></td>\n <td>Arrotondamento per difetto di x</td>\n </tr>\n <tr>\n <td><Latex>{r`\\lceil x \\rceil`}</Latex></td>\n <td>Arrotondamento per eccesso di x</td>\n </tr>\n <tr>\n <td><Latex>{r`x - \\lfloor x \\rfloor`}</Latex></td>\n <td>Parte frazionaria di x (se non è negativo)</td>\n </tr>\n </tbody>\n </TablePanel>\n </Section>\n </LatexDefaultInline.Provider>\n <Section title={\"Problemi di ottimizzazione lineare\"}>\n <Panel title={\"Cosa sono?\"}>\n <p>\n Problemi che cercano di <Min>minimizzare</Min>/<Max>massimizzare</Max> il valore di una <i>funzione obiettivo</i> le cui incognite sono sottoposte a un <b>sistema di <i>vincoli</i></b>.\n </p>\n <p>\n Spesso sono detti anche <i>problemi di <abbr title={\"Linear Programming\"}>LP</abbr></i>.\n </p>\n </Panel>\n <Panel title={\"Funzione obiettivo\"}>\n <p>\n La funzione da <Min>minimizzare</Min>/<Max>massimizzare</Max>.\n </p>\n <p>\n Il vettore dei suoi coefficienti è detto <Latex>{r`\\mathbf{c}`}</Latex>, mentre quello delle sue incognite <Latex>{r`\\mathbf{x}`}</Latex>.\n </p>\n <p>\n In genere, la funzione obiettivo è scritta in questa forma:\n </p>\n <p>\n <Latex>{r`z(\\mathbf{x}) = c_1 \\cdot x_1 + c_2 \\cdot x_2 + \\dots + c_n \\cdot x_n`}</Latex>\n </p>\n </Panel>\n <Panel title={\"Gradiente\"}>\n <p>\n <b>Funzione</b> della funzione obiettivo che restituisce la direzione del suo aumento più veloce.\n </p>\n <p>\n <Latex>{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`}</Latex>\n </p>\n <Example>\n La matrice <Latex>{r`\\mathbf{I}`}</Latex> è la matrice identità.\n </Example>\n <Example>\n Se la funzione obiettivo è <Latex>z = 2w + 3x + 4y</Latex>, il suo gradiente è <Latex>{r`\\nabla z = (2, 3, 4)`}</Latex>.\n </Example>\n </Panel>\n <Panel title={\"Vincoli\"}>\n <p>\n Equazioni e disequazioni a cui devono sottostare le incognite perchè esse formino una soluzione valida.\n </p>\n <p>\n I loro coefficienti sono contenuti nella matrice <Latex>{r`\\mathbf{A}`}</Latex>, mentre i loro termini noti nel vettore <Latex>{r`\\mathbf{b}`}</Latex>.\n </p>\n </Panel>\n <Panel title={\"Poliedro\"}>\n <p>\n L'<b>insieme</b> che racchiunde tutte le <b>soluzioni ammissibili</b> di un problema.\n </p>\n <p>\n Può essere <i><Finite/></i>, <i><Empty/></i> oppure <i><Unbounded/></i>.\n </p>\n <Example>\n Si chiama così perchè se si disegna su un piano cartesiano, esso forma una figura geometrica a più lati, ovvero un <a href={\"https://it.wikipedia.org/wiki/Poliedro\"}>poliedro</a>.\n </Example>\n </Panel>\n <Panel title={\"Valore ottimo\"}>\n <p>\n La <b>soluzione</b> di un problema, ricavabile dal prodotto <Latex>{r`\\mathbf{c}^T \\mathbf{x}`}</Latex>.\n </p>\n <p>\n In particolare, il valore ottimo è un <b>vertice</b> del poliedro, detto <i>vertice ottimo</i>.\n </p>\n </Panel>\n </Section>\n <Section title={\"Forme di un problema di ottimizzazione\"}>\n <Panel title={\"Forma generale\"}>\n <p>\n Un problema con:\n </p>\n <ul>\n <li><Plus>Equazioni e disequazioni</Plus></li>\n <li><Plus>Variabili non vincolate</Plus></li>\n </ul>\n <PLatex>{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\\}`}</PLatex>\n </Panel>\n <Panel title={\"Forma canonica\"}>\n <p>\n Un problema con:\n </p>\n <ul>\n <li><Plus>Solo disequazioni</Plus></li>\n <li><Minus>Vincoli di non-negatività sulle incognite</Minus></li>\n </ul>\n <PLatex>{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\\}`}</PLatex>\n </Panel>\n <Panel title={\"Forma standard\"}>\n <p>\n Un problema con:\n </p>\n <ul>\n <li><Minus>Solo equazioni</Minus></li>\n <li><Minus>Vincoli di non-negatività sulle incognite</Minus></li>\n </ul>\n <PLatex>{r`min \\left\\{ \\mathbf{c}^T \\mathbf{x} : \\mathbf{A} \\mathbf{x} = b,\\quad x_j \\geq 0,\\quad j = 1 \\dots n \\right\\}`}</PLatex>\n </Panel>\n </Section>\n <Section title={\"Conversioni tra le forme\"}>\n <Panel title={\"Standard e generale\"}>\n <p>\n Applica questa conversione a ogni equazione nel sistema:\n </p>\n <p>\n <Latex inline={false}>{r`a = b \\Leftrightarrow\n \\begin{cases}\n a \\leq b\\\\\n a \\geq b\n \\end{cases}\n `}</Latex>\n </p>\n <Example>Serve solo nella teoria per dimostrare che le forme sono equivalenti.</Example>\n </Panel>\n <Panel title={\"Canonica e standard\"}>\n <p>\n Aggiungi una <i>variabile slack</i> <Latex>{r`s`}</Latex> <b>non-vincolata</b> a ogni disequazione nel sistema:\n </p>\n <p>\n <Latex inline={false}>{r`\n a \\leq b \\Leftrightarrow a + s = b\n `}</Latex>\n </p>\n <p>\n <Latex inline={false}>{r`\n a \\geq b \\Leftrightarrow a - s = b\n `}</Latex>\n </p>\n </Panel>\n <Panel title={\"Generale e canonica\"}>\n <p>\n Sdoppia ogni variabile non-vincolata in due variabili con vincolo di non-negatività:\n </p>\n <p>\n <Latex inline={false}>{r`\\begin{cases}\n a = a^+ - a^-\\\\\n a^+ \\geq 0\\\\\n a^- \\geq 0\n \\end{cases}`}</Latex>\n </p>\n </Panel>\n </Section>\n <Section>\n Valore attuale\n </Section>\n <Section title={\"Tableau\"}>\n <Panel title={\"Cos'è?\"}>\n <p>\n Un modo per rappresentare sistemi in forma standard, anche noto come <b>matrice equivalente completa</b> del sistema.\n </p>\n </Panel>\n <Panel title={\"Trasformazioni\"}>\n <p>\n Un tableau è un sistema di equazioni in <b>forma matriciale completa</b>.\n </p>\n <p>\n È possibile effettuare senza che cambi il risultato finale le seguenti trasformazioni:\n </p>\n <ul>\n <li><b>Moltiplicare</b> un'intera riga per una costante.</li>\n <li><b>Sommare</b> una riga a un'altra</li>\n </ul>\n <Example>\n Suona familiare? Sì, lo abbiamo fatto anche in Algebra Lineare.\n </Example>\n </Panel>\n <Panel title={\"Variabili nella base\"}>\n <p>\n Variabili che hanno <b>tutti 0 e un solo 1</b> nella loro colonna del tableau.\n </p>\n <p>\n La loro controparte sono le <i>variabili fuori base</i>, che hanno qualsiasi altro valore.\n </p>\n </Panel>\n <Panel title={\"Valore attuale\"}>\n <p>\n Il valore della funzione obiettivo che si otterrebbe se <b>tutte le variabili fuori base valessero 0</b>.\n </p>\n <p>\n Procedendo nella risoluzione (descritta in seguito) del tableau, questo valore aumenterà, fino a raggiungere il valore ottimo quando la risoluzione sarà completata.\n </p>\n </Panel>\n </Section>\n <Section>\n <Panel color={ExampleBoxColor} title={\"Un esempio\"}>\n <p>\n Il sistema:\n </p>\n <PLatex>{r`\n \\begin{cases}\n 2000x_1 + 1000x_2 = z\\\\\n 1x_1 \\leq 3\\\\\n 1x_2 \\leq 3\\\\\n 2x_1 + 2x_2 \\leq 7\n \\end{cases}\n `}</PLatex>\n <p>\n Diventa il tableau:\n </p>\n <table className={\"right\"}>\n <thead>\n <tr>\n <th><Latex>x_1</Latex></th>\n <th><Latex>x_2</Latex></th>\n <th><Latex>s_1</Latex></th>\n <th><Latex>s_2</Latex></th>\n <th><Latex>s_3</Latex></th>\n <th><abbr title={\"Termine noto\"}>TN</abbr></th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <td><Latex>1</Latex></td>\n <td><Latex>0</Latex></td>\n <td style={\"background-color: rgba(0, 0, 255, 0.1);\"}><Latex>1</Latex></td>\n <td style={\"background-color: rgba(0, 0, 255, 0.1);\"}><Latex>0</Latex></td>\n <td style={\"background-color: rgba(0, 0, 255, 0.1);\"}><Latex>0</Latex></td>\n <td style={\"background-color: rgba(255, 0, 0, 0.1);\"}><Latex>3</Latex></td>\n </tr>\n <tr>\n <td><Latex>0</Latex></td>\n <td><Latex>1</Latex></td>\n <td style={\"background-color: rgba(0, 0, 255, 0.1);\"}><Latex>0</Latex></td>\n <td style={\"background-color: rgba(0, 0, 255, 0.1);\"}><Latex>1</Latex></td>\n <td style={\"background-color: rgba(0, 0, 255, 0.1);\"}><Latex>0</Latex></td>\n <td style={\"background-color: rgba(255, 0, 0, 0.1);\"}><Latex>3</Latex></td>\n </tr>\n <tr>\n <td><Latex>2</Latex></td>\n <td><Latex>2</Latex></td>\n <td style={\"background-color: rgba(0, 0, 255, 0.1);\"}><Latex>0</Latex></td>\n <td style={\"background-color: rgba(0, 0, 255, 0.1);\"}><Latex>0</Latex></td>\n <td style={\"background-color: rgba(0, 0, 255, 0.1);\"}><Latex>1</Latex></td>\n <td style={\"background-color: rgba(255, 0, 0, 0.1);\"}><Latex>7</Latex></td>\n </tr>\n <tr style={\"background-color: rgba(0, 255, 0, 0.1);\"}>\n <td><Latex>2000</Latex></td>\n <td><Latex>1000</Latex></td>\n <td><Latex>0</Latex></td>\n <td><Latex>0</Latex></td>\n <td><Latex>0</Latex></td>\n <td style={\"background-color: rgba(255, 255, 0, 0.2);\"}><Latex>0</Latex></td>\n </tr>\n </tbody>\n </table>\n <ul>\n <li>\n <u style={\"color: #7dff7d;\"}>Verde</u>: funzione obiettivo\n </li>\n <li>\n <u style={\"color: #ffff7d;\"}>Giallo</u>: valore attuale della funzione\n </li>\n <li>\n <u style={\"color: #ff7d7d;\"}>Rosso</u>: termini noti\n </li>\n <li>\n <u style={\"color: #7d7dff;\"}>Blu</u>: Variabili slack\n </li>\n </ul>\n </Panel>\n </Section>\n <Section title={\"Simplex primale\"}>\n <Panel title={\"Cos'è?\"}>\n <p>\n Un algoritmo per trovare efficientemente il <b>valore ottimo</b> e le coordinate di un <b>vertice ottimo</b> in problemi di ottimizzazione lineare.\n </p>\n <Example>\n Ricordi <BaseLink href={\"/vldigeometria\"}>Gauss-Jordan</BaseLink>? Il Simplex è la stessa cosa, aggiungendo criteri per la selezione del pivot.\n </Example>\n <Example title={\"Esempio\"}>\n <a href={\"https://i.imgur.com/1r405Mb.jpg\"}>Questa</a> è la soluzione passo per passo del problema 3 del file <a href={\"https://dolly.fim.unimore.it/2019/mod/resource/view.php?id=2716\"}><code>Ex_LP_testo</code></a>.\n </Example>\n <p>\n Perchè sia possibile effettuare il Simplex è necessario che l'<b>origine sia nel poliedro</b>: pertanto, <b>non</b> è possibile che un problema risolto con il Simplex sia <Empty/>.\n </p>\n </Panel>\n <Panel title={\"I passi\"}>\n <ol>\n <li>Trasforma il sistema in <b>forma standard</b>.</li>\n <li>Trova tante variabili <b>linearmente indipendenti</b> quante siano le righe: esse saranno la <i>base iniziale</i>.</li>\n <li>Finchè ci sono variabili con coefficienti <Min>positivi</Min>/<Max>negativi</Max> nella funzione obiettivo:\n <ol>\n <li>\n <b>Scegli</b> la prima variabile fuori base con coefficiente <Min>positivo</Min>/<Max>negativo</Max> nella funzione obiettivo: essa è la <i>variabile entrante</i>.<br/>\n <aside><u>Regola di Bland</u>: Si potrebbe scegliere qualsiasi variabile come entrante, ma scegliendo sempre la prima ammissibile ci si assicura che l'algoritmo termini.</aside>\n </li>\n <li>\n <b>Scegli</b> la variabile in base con il minor rapporto positivo <Latex>{r`\\frac{termine\\ noto}{coeff.\\ variabile\\ entrante}`}</Latex>.\n <aside>Se non sei riuscito a trovare nessuna variabile con un rapporto positivo, significa che il poliedro è <Unbounded/>.</aside>\n </li>\n <li><u>Pivot</u>: <b>trasforma</b> tutte le funzioni del sistema in modo che abbiano 0 nella colonna della variabile entrante, tranne nella riga della variabile uscente, in cui avrà 1.</li>\n </ol>\n </li>\n <li>Il poliedro è <Finite/>: i <b>termini noti dei vincoli</b> sono le coordinate del suo vertice ottimo, mentre il <b>termine noto della funzione obiettivo</b> è il valore ottimo.</li>\n </ol>\n </Panel>\n <Panel title={\"Soluzioni di base degenerata\"}>\n <p>\n Una soluzione con almeno una variabile di valore <Latex>0</Latex>, dovuta a uno o più <b>vincoli ridondanti</b>.\n </p>\n <p>\n Senza <b>Regola di Bland</b> e in presenza di vincoli ridondanti si rischia di trovarsi a fare pivot infiniti.\n </p>\n </Panel>\n </Section>\n <Section title={\"Metodo delle due fasi\"}>\n <Panel title={\"Metodo delle due fasi\"}>\n <p>\n Un <b>estensione del Simplex</b> per permettere la risoluzione di problemi la cui <b>origine non è una soluzione ammissibile</b>.\n </p>\n <p>\n Prevede l'introduzione di un <i>problema ausiliario</i>, le cui incognite sono dette <i>artificiali</i>.\n </p>\n <p>\n Il vettore delle incognite artificiali è solitamente chiamato <Latex>{r`\\mathbf{y}`}</Latex>.\n </p>\n </Panel>\n <Panel title={\"Procedimento\"}>\n <ol>\n <li>Crea un nuovo tableau, <b>aggiungendo variabili artificiali</b> in modo da avere una base ammissibile.</li>\n <li>Sostituisci la vecchia funzione obiettivo con una nuova che <b>minimizzi la somma</b> di tutte le variabili artificiali.</li>\n <li><u>Fase 1</u>: <b>Risolvi</b> il nuovo problema con il Simplex primale.</li>\n <li>Se il Simplex termina quando ci sono ancora <b>variabili artificiali nella base</b>, allora il poliedro è <b><Empty/></b>.</li>\n <li>Una volta che le variabili artificiali sono fuori base, <b>elimina</b> le loro colonne e la nuova funzione obiettivo.<br/></li>\n <li>Riporta il tableau in forma base compiendo operazioni per <b>azzerare i coefficienti</b> delle variabili di base nella funzione obiettivo.</li>\n <li><u>Fase 2</u>: <b>Risolvi</b> il tableau con il Simplex primale.</li>\n </ol>\n </Panel>\n </Section>\n <Section title={\"Rilassamento\"}>\n <Panel title={\"Cos'è?\"}>\n <p>\n Una versione semplificata di un problema nella quale si <b>ignora la violazione</b> di uno o più vincoli.\n </p>\n </Panel>\n <Panel title={\"Rilassamento di Lagrange\"}>\n <p>\n Un rilassamento che permette di misurare <b>di quanto i vincoli vengono violati</b>.\n </p>\n <p>\n I vincoli, moltiplicati per <b>coefficienti di rilassamento</b>, vengono inseriti nella funzione obiettivo.\n </p>\n <p>\n Il vettore dei coefficienti di rilassamento solitamente è indicato con <Latex>{r`\\mathbf{u}`}</Latex>.\n </p>\n <Example>\n <p>\n Il sistema:\n </p>\n <Latex inline={false}>{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 `}</Latex>\n <p>\n diventa:\n </p>\n <Latex inline={false}>{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 `}</Latex>\n </Example>\n </Panel>\n </Section>\n <Section title={\"Dualità\"}>\n <Panel title={\"Duale\"}>\n <p>\n Il sistema che <b><Min>massimizza</Min>/<Max>minimizza</Max> i moltiplicatori di rilassamento</b> di un problema detto <i>primale</i>.\n </p>\n </Panel>\n <Panel title={\"In termini matriciali\"}>\n <p>\n Possiamo <b>trasporre</b> il tableau e sostituire le variabili <Latex>{r`x_n`}</Latex> con variabili <Latex>{r`u_n`}</Latex> per ottenere il sistema duale!\n </p>\n <p>\n I maggiori e minori dei vincoli diventeranno maggiori e minori delle variabili e viceversa.\n </p>\n </Panel>\n <Panel title={\"Feasibility del duale\"}>\n <ul>\n <li>Se un problema ha una <b>soluzione finita</b>, allora anche il suo duale la avrà.</li>\n <li>Se un problema è <b><Empty/></b>, allora il suo duale potrà essere <Empty/> oppure <Unbounded/>.</li>\n <li>Se un problema è <b><Unbounded/></b>, allora il suo duale sarà certamente <Empty/>.</li>\n </ul>\n </Panel>\n <Panel title={\"Variabili e vincoli\"}>\n <p>\n Variabili e vincoli del duale corrispondono rispettivamente a vincoli e variabili del primale.\n </p>\n <p>\n In particolare:\n </p>\n <table>\n <thead>\n <tr>\n <th><Min>Min</Min></th>\n <th><Max>Max</Max></th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <td>Vincolo <ILatex>\\leq</ILatex></td>\n <td>Variabile <ILatex>\\leq</ILatex></td>\n </tr>\n <tr>\n <td>Vincolo <ILatex>\\geq</ILatex></td>\n <td>Variabile <ILatex>\\geq</ILatex></td>\n </tr>\n <tr>\n <td>Vincolo <ILatex>=</ILatex></td>\n <td>Variabile <b>libera</b></td>\n </tr>\n <tr>\n <td>Variabile <ILatex>\\leq</ILatex></td>\n <td>Vincolo <ILatex>\\geq</ILatex></td>\n </tr>\n <tr>\n <td>Variabile <ILatex>\\geq</ILatex></td>\n <td>Vincolo <ILatex>\\leq</ILatex></td>\n </tr>\n <tr>\n <td>Variabile <b>libera</b></td>\n <td>Vincolo <ILatex>=</ILatex></td>\n </tr>\n </tbody>\n </table>\n </Panel>\n </Section>\n <Section title={\"Un po' di teoria\"}>\n <Panel title={\"Lemma di Farkas\"}>\n <p>\n Una disuguaglianza lineare <Latex>{r`c_0 \\leq \\mathbf{c}^T \\mathbf{x}`}</Latex> è verificata da tutti i punti di un poliedro non-<Empty/> se e solo se esiste un vettore <Latex>{r`u \\in \\mathfrak{R}^m`}</Latex> tale che:\n </p>\n <PLatex>{r`\\mathbf{c}^T \\geq \\mathbf{u}^T \\mathbf{A}`}</PLatex>\n <PLatex>{r`c_0 \\leq \\mathbf{u}^T \\mathbf{b}`}</PLatex>\n </Panel>\n <Panel title={\"Dualità forte\"}>\n <p>\n Il teorema che dimostra l'equivalenza tra primale e duale.\n </p>\n <p>\n Se uno dei due problemi è finito, la soluzione di uno coincide con la soluzione dell'altro.\n </p>\n <p>\n <Latex>{r`\\mathbf{c}^T \\mathbf{x} = \\mathbf{u}^T \\mathbf{b}`}</Latex>\n </p>\n <p>\n <Todo>TODO: Anche qui c'è una lunga dimostrazione...</Todo>\n </p>\n </Panel>\n <Panel title={\"Dualità debole\"}>\n <p>\n Il teorema che dimostra che il valore della funzione obiettivo del duale (di un qualsiasi tableau) è sempre <Min>minore o uguale</Min>/<Max>maggiore o uguale</Max> alla soluzione del corrispettivo primale.\n </p>\n <p>\n <Todo>TODO: Dimostrazione cortina, ma sembra complicata.</Todo>\n </p>\n </Panel>\n <Panel title={\"Condizioni di ottimalità\"}>\n <p>\n Il teorema che ci permette di passare dalla soluzione del duale alla soluzione del primale. <Todo>TODO: credo?</Todo>\n </p>\n <p>\n Si deriva combinando le seguenti condizioni:\n </p>\n <ul>\n <li>Ammissibilità del primale: <Latex>{r`\\mathbf{A} \\mathbf{X} \\geq \\mathbf{b}, \\quad \\mathbf{x} \\geq 0`}</Latex></li>\n <li>Ammissibilità del duale: <Latex>{r`\\mathbf{u}^T \\mathbf{A} \\leq \\mathbf{c}^T, \\quad \\mathbf{u} \\geq 0`}</Latex></li>\n <li>Teorema della dualità forte: <Latex>{r`\\mathbf{c}^T \\mathbf{x} = \\mathbf{u}^T \\mathbf{b}`}</Latex> (alla soluzione ottima)</li>\n </ul>\n <p>\n Ne risulta che una soluzione è ottima se e solo se:\n </p>\n <PLatex>{r`\\left( \\mathbf{c}^T - \\mathbf{u}^T \\mathbf{A} \\right) \\mathbf{x} = 0`}</PLatex>\n <PLatex>{r`\\mathbf{u}^T \\left( \\mathbf{A} \\mathbf{x} - \\mathbf{b} \\right) = 0`}</PLatex>\n </Panel>\n </Section>\n <Section title={\"Simplex duale\"}>\n <Panel title={\"Cos'è?\"}>\n <p>\n Un'estensione al Simplex primale che opera sul problema duale.\n </p>\n </Panel>\n <Panel title={\"Come funziona?\"}>\n <p>\n Funziona esattamente come il Simplex primale, ma opera sul duale.\n </p>\n </Panel>\n </Section>\n <Section title={\"Analisi di sensibilità\"}>\n <Panel title={\"Cos'è?\"}>\n <p>\n Un procedimento che misura di <b>quanto può variare</b> il termine noto di un vincolo <Latex>{r`b_i`}</Latex> o il coefficiente della funzione obiettivo <Latex>{r`c_i`}</Latex> prima che la base degeneri.\n </p>\n </Panel>\n </Section>\n <Section title={\"Ottimizzazione lineare intera\"}>\n <Panel title={\"Cos'è?\"}>\n <p>\n Particolari problemi di ottimizzazione lineare in cui le <b>variabili sono vincolate ad essere numeri interi</b>.\n </p>\n <PLatex>{r`\n \\mathbf{x} \\in \\mathbb{Z}^n\n `}</PLatex>\n <p>\n Spesso detti anche <i>problemi di <abbr title={\"Integer Linear Programming\"}>ILP</abbr></i>.\n </p>\n </Panel>\n <Panel title={\"Rilassamento lineare\"}>\n <p>\n Un rilassamento che rimuove il <b>vincolo di integrità</b> a un problema, trovando la sua <b>soluzione continua</b>.\n </p>\n </Panel>\n </Section>\n <Section title={\"Dal rilassamento alla soluzione\"}>\n <Panel title={\"Enumerazione totale\"}>\n <p>\n Un <b>modo</b> per passare dalla soluzione del rilassamento alla soluzione intera di un problema di ILP.\n </p>\n <p>\n Consiste nel calcolare la soluzione di ogni singolo punto incluso nel poliedro, e selezionare la <Min>minore</Min>/<Max>maggiore</Max>.\n </p>\n <p>\n Trova <b>sicuramente</b> la soluzione giusta, ma il costo computazionale è esponenziale <ILatex>O(n^k)</ILatex>!\n </p>\n </Panel>\n <Panel title={\"Arrotondamento\"}>\n <p>\n Un altro <b>modo</b> per passare dalla soluzione del rilassamento alla soluzione intera di un problema di ILP.\n </p>\n <p>\n Consiste nell'<b>arrotondare tutte le variabili al loro valore intero più vicino</b>, e calcolarne il valore ottimo.\n </p>\n <p>\n Funziona bene per valori grandi, ma più essi si avvicinano allo 0 più l'<b>errore diventa grande</b>.\n </p>\n </Panel>\n <Panel title={\"Piani secanti\"}>\n <p>\n Un altro <b>modo</b> ancora per passare dalla soluzione del rilassamento alla soluzione intera di un problema di ILP.\n </p>\n <p>\n Consiste nel tagliare il poliedro con nuovi vincoli (<i>piani secanti</i>) che <b>riducono le possibili soluzioni continue</b> ma non quelle intere.\n </p>\n <p>\n Per selezionare i vincoli, si usano i <b>tagli di Gomory</b>:\n </p>\n <PLatex>{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 `}</PLatex>\n <p>\n Per ogni valore noto frazionario si viene quindi a creare <b>una nuova variabile in base</b> e un nuovo vincolo formato dall'opposto di tutti i valori frazionari dei coefficienti fuori base.\n </p>\n <Example>\n <p>\n Il tableau:\n <table>\n <thead>\n <tr>\n <th><BLatex>{r`x_1`}</BLatex></th>\n <th><BLatex>{r`x_2`}</BLatex></th>\n <th><BLatex>{r`s_1`}</BLatex></th>\n <th><BLatex>{r`s_2`}</BLatex></th>\n <th><abbr title={\"Termine noto\"}>TN</abbr></th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <td><BLatex>{r`1`}</BLatex></td>\n <td><BLatex>{r`1`}</BLatex></td>\n <td><BLatex>{r`0`}</BLatex></td>\n <td><BLatex>{r`0`}</BLatex></td>\n <td><BLatex>{r`0`}</BLatex></td>\n </tr>\n <tr>\n <td><BLatex>{r`1`}</BLatex></td>\n <td><BLatex>{r`0`}</BLatex></td>\n <td><BLatex>{r`1`}</BLatex></td>\n <td><BLatex>{r`0`}</BLatex></td>\n <td><BLatex>{r`3`}</BLatex></td>\n </tr>\n <tr>\n <td><BLatex>{r`\\frac{3}{2}`}</BLatex></td>\n <td><BLatex>{r`\\frac{1}{2}`}</BLatex></td>\n <td><BLatex>{r`0`}</BLatex></td>\n <td><BLatex>{r`1`}</BLatex></td>\n <td><BLatex>{r`\\frac{6}{5}`}</BLatex></td>\n </tr>\n </tbody>\n </table>\n </p>\n <p>\n Diventa:\n <table>\n <thead>\n <tr>\n <th><BLatex>{r`x_1`}</BLatex></th>\n <th><BLatex>{r`x_2`}</BLatex></th>\n <th><BLatex>{r`s_1`}</BLatex></th>\n <th><BLatex>{r`s_2`}</BLatex></th>\n <th style={\"background-color: rgba(255, 255, 0, 0.1);\"}><BLatex>{r`s_3`}</BLatex></th>\n <th><abbr title={\"Termine noto\"}>TN</abbr></th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <td><BLatex>{r`1`}</BLatex></td>\n <td><BLatex>{r`1`}</BLatex></td>\n <td><BLatex>{r`0`}</BLatex></td>\n <td><BLatex>{r`0`}</BLatex></td>\n <td style={\"background-color: rgba(255, 255, 0, 0.1);\"}><BLatex>{r`0`}</BLatex></td>\n <td><BLatex>{r`0`}</BLatex></td>\n </tr>\n <tr>\n <td><BLatex>{r`1`}</BLatex></td>\n <td><BLatex>{r`0`}</BLatex></td>\n <td><BLatex>{r`1`}</BLatex></td>\n <td><BLatex>{r`0`}</BLatex></td>\n <td style={\"background-color: rgba(255, 255, 0, 0.1);\"}><BLatex>{r`0`}</BLatex></td>\n <td><BLatex>{r`3`}</BLatex></td>\n </tr>\n <tr>\n <td><BLatex>{r`\\frac{3}{2}`}</BLatex></td>\n <td><BLatex>{r`\\frac{1}{2}`}</BLatex></td>\n <td><BLatex>{r`0`}</BLatex></td>\n <td><BLatex>{r`1`}</BLatex></td>\n <td style={\"background-color: rgba(255, 255, 0, 0.1);\"}><BLatex>{r`0`}</BLatex></td>\n <td><BLatex>{r`\\frac{6}{5}`}</BLatex></td>\n </tr>\n <tr style={\"background-color: rgba(255, 255, 0, 0.1);\"}>\n <td><BLatex>{r`-\\frac{1}{2}`}</BLatex></td>\n <td><BLatex>{r`-\\frac{1}{2}`}</BLatex></td>\n <td><BLatex>{r`0`}</BLatex></td>\n <td><BLatex>{r`0`}</BLatex></td>\n <td style={\"background-color: rgba(255, 255, 0, 0.2);\"}><BLatex>{r`1`}</BLatex></td>\n <td><BLatex>{r`-\\frac{1}{5}`}</BLatex></td>\n </tr>\n </tbody>\n </table>\n </p>\n </Example>\n </Panel>\n <Panel title={\"Divide et impera\"}>\n <p>\n È possibile usare la tecnica <i>divide et impera</i> per rendere più efficiente l'<b>enumerazione totale</b>.\n </p>\n <p>\n Si divide il problema principale (trovare il valore ottimo di un problema di ILP) in più sottoproblemi (trovare il valore ottimo di un problema di ILP con una variabile impostata a un valore fisso).\n </p>\n <p>\n Si crea così un <b>albero</b>.\n </p>\n <p>\n È possibile <b>chiudere in anticipo</b> alcuni nodi dell'albero se il loro miglior possibile valore ottimo è inferiore a uno precedentemente trovato o se il loro poliedro è <Empty/>.\n </p>\n <p>\n È possibile utilizzare diverse <b>strategie di esplorazione</b> dell'albero:\n <ul>\n <li><b>depth-first</b>: permette di raggiungere immediatamente a una soluzione accettabile (ma non ottimale)</li>\n <li><b>best-first</b>: permette di raggiungere più velocemente alla soluzione corretta</li>\n </ul>\n </p>\n </Panel>\n <Panel title={\"Seca et impera\"}>\n <p>\n È possibile combinare il metodo dei <b>tagli secanti</b> con la tecnica <b>divide et impera</b> per raggiungere ancora più velocemente a una soluzione.\n </p>\n <p>\n Si effettuano <b>poche iterazioni</b> del metodo dei tagli secanti, e sul risultato di quelle iterazioni si applica il <b>divide et impera</b>.\n </p>\n </Panel>\n </Section>\n <Section title={<span>Terminologia dei grafi <Todo>TODO: migliorare</Todo></span>}>\n <Panel title={\"Grafo\"}>\n <p>\n Insieme di <b>nodi</b> <ILatex>{r`N`}</ILatex> e <b>archi</b> <ILatex>{r`E`}</ILatex> che li connettono.\n </p>\n <p>\n Può essere <b>diretto</b> se gli archi hanno una direzione.\n </p>\n </Panel>\n <Panel title={\"Nodi adiacenti\"}>\n <p>\n Nodi <b>connessi da un arco</b>.\n </p>\n </Panel>\n <Panel title={\"Arco incidente\"}>\n <p>\n Arco <b>connesso a un dato nodo</b>.\n </p>\n </Panel>\n <Panel title={\"Arco entrante o uscente\"}>\n <p>\n Un arco diretto che <b>termina</b> o <b>inizia</b> da un dato nodo.\n </p>\n </Panel>\n <Panel title={\"Grado\"}>\n <p>\n <b>Conteggio</b> degli archi incidenti di un nodo.\n </p>\n <p>\n Si può calcolare anche relativamente agli archi entranti o agli archi uscenti.\n </p>\n </Panel>\n <Panel title={\"Percorso\"}>\n <p>\n Sequenza di <b>archi consecutivi</b>.\n </p>\n </Panel>\n <Panel title={\"Connessione\"}>\n <p>\n Due nodi sono connessi se tra loro esiste <b>almeno un percorso</b>.\n </p>\n <p>\n Un grafo è connesso se tutti i suoi nodi sono connessi.\n </p>\n </Panel>\n <Panel title={\"Cicli e circuiti\"}>\n <p>\n Percorsi rispettivamente indiretti e diretti in cui l'inizio coincide con la fine.\n </p>\n </Panel>\n <Panel title={\"Grafo completo\"}>\n <p>\n Grafo in cui ogni nodo è connesso con ogni altro.\n </p>\n <p>\n Se diretto, contiene <ILatex>{r`n \\cdot (n - 1)`}</ILatex> archi; altrimenti, ne contiene la metà.\n </p>\n </Panel>\n <Panel title={\"Matrice di adiacenza\"}>\n <blockquote>\n Vedi <BaseLink href={\"/algoritmiestrutturedati\"}>Algoritmi</BaseLink>.\n </blockquote>\n </Panel>\n <Panel title={\"Lista di adiacenza\"}>\n <blockquote>\n Vedi <BaseLink href={\"/algoritmiestrutturedati\"}>Algoritmi</BaseLink>.\n </blockquote>\n </Panel>\n <Panel title={\"Taglio\"}>\n <p>\n Sottoinsieme di archi che connettono due sottoinsiemi di nodi.\n </p>\n <p>\n Può essere anche uscente o entrante; in tal caso include solo gli archi entranti o uscenti dal sottoinsieme.\n </p>\n </Panel>\n <Panel title={\"Sottografo\"}>\n <p>\n Sottoinsieme di nodi e archi di un grafo.\n </p>\n <p>\n Tutti gli archi di un sottografo possono connettere solo nodi all'interno di esso.\n </p>\n </Panel>\n <Panel title={\"Albero\"}>\n <p>\n Sottografo connesso e aciclico.\n </p>\n </Panel>\n <Panel title={\"Spanning tree\"}>\n <p>\n Albero che include tutti i nodi di un grafo.\n </p>\n </Panel>\n </Section>\n <Section title={\"Algoritmi con i grafi\"}>\n <Panel title={\"Prim\"}>\n <p>\n Crea uno spanning tree.\n </p>\n <ol>\n <li>Aggiungi l'arco di costo minimo all'albero.</li>\n <li>Finchè mancano ancora archi:\n <ol>\n <li>Trova tutti gli archi che aggiungerebbero un nuovo nodo all'albero.</li>\n <li>Seleziona l'arco di costo minore.</li>\n </ol>\n </li>\n </ol>\n </Panel>\n <Panel title={\"Ordine topologico\"}>\n <p>\n Trova l'ordine topologico di un albero.\n </p>\n <ol>\n <li>Ripeti finchè ci sono nodi nel grafo:\n <ol>\n <li>Assegna un numero sequenziale a un nodo senza archi entranti.</li>\n <li>Elimina il nodo a cui hai assegnato il numero.</li>\n <li>Elimina tutti gli archi incidenti sul nodo che hai eliminato.</li>\n </ol>\n </li>\n </ol>\n </Panel>\n <Panel title={\"Percorsi minimi in grafo diretto\"}>\n <p>\n Trova i percorsi di costo minimo in un albero.\n </p>\n <ol>\n <li>Trova l'ordine topologico dell'albero.</li>\n <li>Invece che provare ogni singola combinazione di nodi, prova solo i nodi che hanno un numero topologico maggiore di quello del nodo attuale.</li>\n </ol>\n <p>\n <Todo>TODO: forse spiegarlo meglio non farebbe male</Todo>\n </p>\n </Panel>\n <Panel title={\"Algoritmo di Dijkstra\"}>\n <blockquote>\n Vedi <BaseLink href={\"/algoritmiestrutturedati\"}>Algoritmi</BaseLink>.\n </blockquote>\n </Panel>\n <Panel title={\"Algoritmo di Ford-Fulkerson\"}>\n <Example>\n Trova il volume massimo di acqua che è possibile fare scorrere attraverso tubature con una data capacità.\n </Example>\n <p>\n Costruisci il grafo residuo e vedi se c'è un percorso che va dalla sorgente alla destinazione.\n </p>\n <p>\n <Image src={\"https://i.imgur.com/FJk44q0.png\"}/>\n </p>\n <p>\n <Image src={\"https://i.imgur.com/fzb6xz2.png\"}/>\n </p>\n </Panel>\n </Section>\n </div>\n )\n}\n","// 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\";\r\n\r\nexport default function(props) {\r\n return (\r\n <div class={style.example}>\r\n {props.children}\r\n </div>\r\n );\r\n}\r\n","import style from \"./ExampleBoxColor.less\";\r\n\r\nexport default style.example;\r\n","import style from \"./Plus.less\";\n\nexport default function(props) {\n\treturn <span class={style.plus}>{props.children}</span>;\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":""} |