mirror of
https://github.com/Steffo99/unisteffo.git
synced 2024-11-23 08:24:20 +00:00
1 line
No EOL
15 KiB
Text
Generated
1 line
No EOL
15 KiB
Text
Generated
{"version":3,"sources":["webpack:///./routes/ottimizzazioneLineare.js","webpack:///./components/minus.js","webpack:///./components/plus.css","webpack:///./components/plus.js","webpack:///./components/minus.css"],"names":["r","String","raw","OttimizzazioneLineare","render","title","href","class","Component","Minus","style","minus","this","props","children","module","exports","Plus","plus"],"mappings":"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","file":"route-ottimizzazioneLineare.chunk.8fb86.js","sourcesContent":["import {Component} from 'preact'\nimport Split from \"../components/split\";\nimport Latex from \"../components/latex\";\nimport Panel from \"../components/panel\";\nimport Example from \"../components/example\";\nimport Todo from \"../components/todo\";\nimport Minus from \"../components/minus\";\nimport Plus from \"../components/plus\";\nimport Code from \"../components/code\";\n\nconst r = String.raw;\n\nexport default class OttimizzazioneLineare extends Component {\n render() {\n return (\n <div>\n <h1>Ottimizzazione lineare intera</h1>\n <Split title={\"Materiale\"}>\n <Panel title={\"Videolezioni su YouTube\"}>\n <p>\n Ho rimosso il rumore in sottofondo da tutti i video di Ricerca Operativa!\n </p>\n <p>\n <b><a href={\"https://www.youtube.com/playlist?list=PLh93e8qjTszffkHNn-19CqUOhHFbhBlBh\"}>Guardate i video qui!</a></b>\n </p>\n </Panel>\n </Split>\n <Split title={\"Le basi\"}>\n <Panel title={\"Funzione obiettivo\"}>\n <p>\n La funzione obiettivo è la funzione con valore noto sconosciuto:\n </p>\n <p>\n <Latex>{r`z = C_1 \\cdot x_1 + C_2 \\cdot x_2 + C_n \\cdot x_n`}</Latex>\n </p>\n </Panel>\n <Panel title={\"Gradiente\"}>\n <p>\n Funzione della funzione obiettivo che indica la direzione del suo aumento più veloce.\n </p>\n <p>\n <Latex>{r`\\nabla f = \\frac{\\delta f}{\\delta x_1} e_1 + \\frac{\\delta f}{\\delta x_2} e_2 + \\frac{\\delta f}{\\delta x_n} e_n`}</Latex>\n </p>\n <p>\n <Latex>{r`e_i`}</Latex> è la direzione della coordinata i-esima.\n </p>\n <Example>\n Se <Latex>{r`n = 3`}</Latex>, allora:\n <ul>\n <li><Latex>{r`e_1 = (1, 0, 0)`}</Latex></li>\n <li><Latex>{r`e_2 = (0, 1, 0)`}</Latex></li>\n <li><Latex>{r`e_3 = (0, 0, 1)`}</Latex></li>\n </ul>\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 </Split>\n <Split title={\"Forme di un sistema\"}>\n <Panel title={\"Forma standard\"}>\n <ul>\n <li><Minus>Solo equazioni</Minus></li>\n <li><Minus>Tutte le variabili maggiori di zero</Minus></li>\n </ul>\n </Panel>\n <Panel title={\"Forma canonica\"}>\n <ul>\n <li><Plus>Equazioni e disequazioni</Plus></li>\n <li><Minus>Tutte le variabili maggiori di zero</Minus></li>\n </ul>\n </Panel>\n <Panel title={\"Forma generale\"}>\n <ul>\n <li><Plus>Equazioni e disequazioni</Plus></li>\n <li><Plus>Variabili con qualsiasi valore</Plus></li>\n </ul>\n </Panel>\n </Split>\n <Split title={\"Equivalenza di forma\"}>\n <Panel title={\"Da standard a generale\"}>\n <p>\n Convertiamo ogni equazione <Latex>{r`=`}</Latex> in due disequazioni <Latex>{r`\\leq`}</Latex> e <Latex>{r`\\geq`}</Latex>,\n </p>\n <Example>Why would you ever do that?!</Example>\n </Panel>\n <Panel title={\"Da canonica a standard\"}>\n <p>\n Convertiamo le disequazioni in equazioni aggiungendo una variabile slack.\n </p>\n <Example>\n <Latex>{r`a \\leq 3`}</Latex> diventa <Latex>{r`a + s_1 = 3`}</Latex>.\n </Example>\n </Panel>\n <Panel title={\"Da generale a canonica\"}>\n <p>\n Sostituiamo le variabili potenzialmente negative (unconstrained) <Latex>{r`x_j`}</Latex> con due variabili <Latex>{r`x_j^+`}</Latex> e <Latex>{r`x_j^-`}</Latex>.\n </p>\n <Example>\n <Latex>{r`a \\in \\mathbb{Z}`}</Latex> diventa <Latex>{r`a^+ \\in \\mathbb{N}`}</Latex> e <Latex>{r`-a^- \\in \\mathbb{N}`}</Latex>.\n </Example>\n </Panel>\n </Split>\n <Split title={\"La forma standard\"}>\n <Panel title={\"Funzione obiettivo\"}>\n <p>\n La funzione da minimizzare/massimizzare, tipicamente indicata con una <Latex>{r`z`}</Latex> al termine noto.\n </p>\n </Panel>\n <Panel title={\"Tableu\"}>\n <p>\n Un modo per rappresentare sistemi in forma standard, anche noto come <b>matrice equivalente completa</b> del sistema.\n </p>\n <Example>\n Il sistema:<br/><br/>\n <Latex>{r`\n \\begin{cases}\n 2000A + 1000B = z\\\\\n 1A \\leq 3\\\\\n 1B \\leq 3\\\\\n 2A + 2B \\leq 7\n \\end{cases}\n `}</Latex><br/><br/>\n Diventa in forma di tableau:<br/><br/>\n <table class={\"right\"}>\n <thead>\n <tr>\n <th><abbr title={\"Termine noto\"}>TN</abbr></th>\n <th><Latex>A</Latex></th>\n <th><Latex>B</Latex></th>\n <th><Latex>s_1</Latex></th>\n <th><Latex>s_2</Latex></th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <td><Latex>z</Latex></td>\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 </tr>\n <tr>\n <td><Latex>3</Latex></td>\n <td><Latex>1</Latex></td>\n <td><Latex>0</Latex></td>\n <td><Latex>1</Latex></td>\n <td><Latex>0</Latex></td>\n </tr>\n <tr>\n <td><Latex>3</Latex></td>\n <td><Latex>0</Latex></td>\n <td><Latex>1</Latex></td>\n <td><Latex>0</Latex></td>\n <td><Latex>1</Latex></td>\n </tr>\n <tr>\n <td><Latex>7</Latex></td>\n <td><Latex>2</Latex></td>\n <td><Latex>2</Latex></td>\n <td><Latex>0</Latex></td>\n <td><Latex>0</Latex></td>\n </tr>\n </tbody>\n </table>\n </Example>\n </Panel>\n <Panel title={\"Variabili di base\"}>\n <p>\n <Todo>TODO: come spiegarla?</Todo>\n </p>\n </Panel>\n </Split>\n <Split title={\"Simplex\"}>\n <Panel title={\"Simplex\"}>\n <p>\n Un algoritmo per massimizzare efficientemente variabili di sistemi lineari, derivato da Gauss-Jordan.\n </p>\n <Example>\n E' spiegato semplicemente <a href={\"https://web.archive.org/web/20200523052252/https://www.cs.cmu.edu/~15451-f17/handouts/simplex.pdf\"}>qui</a>.\n </Example>\n </Panel>\n <Panel title={\"I passi\"}>\n <ol>\n <li>Trasforma il sistema in <b>forma standard</b>.</li>\n <li>Finchè ci sono variabili con coefficienti positivi nella funzione obiettivo:\n <ol>\n <li><b>Scegli</b> una variabile della funzione obiettivo, chiamandola <i>variabile entrante</i>. <Example>Come? Vedi nel prossimo pannello.</Example></li>\n <li>Trova la variabile di base (detta <i>variabile uscente</i>) con il <b>valore minore</b> per questo rapporto: <Code>termine noto / coeff. variabile entrante</Code></li>\n <li><b>Riscrivi</b> tutte le funzioni del sistema in termini della variabile entrante.</li>\n </ol>\n </li>\n <li>Il <b>termine noto</b> della funzione obiettivo è il tuo risultato.</li>\n </ol>\n </Panel>\n <Panel title={\"Criteri per la variabile entrante\"}>\n <ul>\n <li>Coefficiente maggiore nella funzione obiettivo.</li>\n <li>Incremento maggiore della funzione obiettivo.</li>\n <li>A caso.</li>\n <li><i>Regola di Bland</i>: scegli variabili entranti e uscenti con indice minore. <Example>Impedisce cicli infiniti!</Example></li>\n </ul>\n </Panel>\n </Split>\n <Split title={\"Metodo delle due fasi\"}>\n <Panel title={\"Metodo delle due fasi\"}>\n <p>\n Un estensione del Simplex per permettere la risoluzione di problemi con termini noti negativi.\n </p>\n <p>\n Prevede l'introduzione di un <b>problema ausiliario</b>.\n </p>\n </Panel>\n </Split>\n </div>\n )\n }\n}\n","import style from \"./minus.css\";\nimport { Component } from 'preact';\n\nexport default class Minus extends Component {\n\trender() {\n\t\treturn <span class={style.minus}>{this.props.children}</span>;\n\t}\n}\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"plus\":\"plus__29_QM\"};","import style from \"./plus.css\";\nimport { Component } from 'preact';\n\nexport default class Plus extends Component {\n\trender() {\n\t\treturn <span class={style.plus}>{this.props.children}</span>;\n\t}\n}\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"minus\":\"minus__2Ld4F\"};"],"sourceRoot":""} |