1
Fork 0
mirror of https://github.com/Steffo99/unisteffo.git synced 2024-11-23 00:14:21 +00:00
triennale-appunti-steffo/docs/route-ottimizzazioneLineare.chunk.762b1.js.map
2020-05-24 18:52:18 +02:00

1 line
No EOL
29 KiB
Text
Generated

{"version":3,"sources":["webpack:///./routes/ottimizzazioneLineare.js","webpack:///./components/old/todo.css","webpack:///./components/old/plus.css","webpack:///./components/OttimizzazioneLineare/Unfeasible.js","webpack:///./components/old/timer.js","webpack:///./components/old/timer.less","webpack:///./components/OttimizzazioneLineare/Unbounded.less","webpack:///./components/Latex.js","webpack:///./components/old/minus.js","webpack:///./components/OttimizzazioneLineare/Unbounded.js","webpack:///./components/old/plus.js","webpack:///./components/old/todo.js","webpack:///./components/old/minus.css","webpack:///./components/Latex.css","webpack:///./contexts/LatexDefaultInline.js","webpack:///./components/Image.js","webpack:///./components/OttimizzazioneLineare/Unfeasible.less"],"names":["r","String","raw","OttimizzazioneLineare","render","title","href","to","class","src","Component","module","exports","props","style","unfeasible","children","Timer","state","Date","now","timer","componentDidMount","this","setInterval","setState","componentWillUnmount","clearInterval","dateTo","className","parts","milliseconds","seconds","minutes","hours","days","timeLeft","Math","floor","expired","unknown","count","text","remaining","renderColor","useContext","LatexRenderColor","defaultInline","LatexDefaultInline","undefined","inline","alt","latex","Minus","minus","unbounded","Plus","plus","Todo","todo","createContext","target"],"mappings":"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","file":"route-ottimizzazioneLineare.chunk.762b1.js","sourcesContent":["import {Component} from 'preact'\nimport Split from \"../components/old/split\";\nimport Latex from \"../components/Latex\";\nimport Panel from \"../components/old/panel\";\nimport Example from \"../components/example\";\nimport Todo from \"../components/old/todo\";\nimport Minus from \"../components/old/minus\";\nimport Plus from \"../components/old/plus\";\nimport Code from \"../components/old/code\";\nimport Timer from \"../components/old/timer\";\nimport Image from \"../components/Image\";\nimport Unfeasible from \"../components/OttimizzazioneLineare/Unfeasible\";\nimport Unbounded from \"../components/OttimizzazioneLineare/Unbounded\";\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={\"Unimore\"}>\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 <Panel title={\"Prossimi appelli\"}>\n <ol>\n <li><Timer to={\"2020-06-08\"}/></li>\n <li><Timer to={\"2020-06-25\"}/></li>\n <li><Timer to={\"2020-07-14\"}/></li>\n </ol>\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>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 </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 Variabili che hanno tutti 0 e un 1 nella loro colonna del tableu.\n </p>\n <p>\n La loro controparte sono le <i>variabili fuori base</i>.\n </p>\n <p>\n Un sistema lineare è risolto quando tutte le variabili originali (<Latex>x_n</Latex>) sono nella base.\n </p>\n </Panel>\n </Split>\n <Split title={\"Simplex\"}>\n <Panel title={\"Cos'è?\"}>\n <p>\n Un algoritmo per <Minus>minimizzare</Minus>/<Plus>massimizzare</Plus> efficientemente variabili di sistemi lineari, derivato da Gauss-Jordan.\n </p>\n <Example>\n E' spiegato in modo semplice <a href={\"https://web.archive.org/web/20200523052252/https://www.cs.cmu.edu/~15451-f17/handouts/simplex.pdf\"}>qui</a>, e ci sono dei codici sorgenti di esempio <a href={\"https://www.cs.cmu.edu/~15451-f17/handouts/simplexcodes/\"}>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>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 <Minus>positivi</Minus>/<Plus>negativi</Plus> nella funzione obiettivo:\n <ol>\n <li>\n <b>Scegli</b> la prima variabile con coefficiente <Minus>positivo</Minus>/<Plus>negativo</Plus> nella funzione obiettivo: essa è la <i>variabile entrante</i>.\n <Example>Si potrebbe scegliere qualsiasi variabile, ma scegliendo sempre la prima possibile (<i>Regola di Bland</i>) ci si assicura che l'algoritmo termini.</Example>\n </li>\n <li>Trova la variabile di base (detta <i>variabile uscente</i>) tramite il rapporto <Latex>{r`\\frac{termine\\ noto}{coeff.\\ variabile\\ entrante}`}</Latex>: scegli la variabile con il <b>rapporto minore</b>, assicurandoti che esso sia <b>positivo</b>. Se tutti i rapporti sono negativi, allora il problema è <b><Unbounded/></b>.</li>\n <li><b>Riscrivi</b> tutte le funzioni del sistema in termini della variabile entrante.</li>\n </ol>\n </li>\n <li>I <b>termini noti dei vincoli</b> sono le coordinate del risultato, mentre il <b>termine noto della funzione obiettivo</b> è il valore <Minus>minimizzato</Minus>/<Plus>massimizzato</Plus>.</li>\n </ol>\n </Panel>\n <Panel title={\"Sotto forma di tableau\"}>\n <p>\n Se il problema è rappresentato in forma di tableau, allora esso è risolvibile applicando l'algoritmo di Gauss-Jordan, in aggiunta tenendo conto delle regole per la selezione delle variabili entranti e uscenti.\n </p>\n </Panel>\n </Split>\n <Split>\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 <Panel title={\"Esempio\"}>\n <Example>\n Ho risolto il problema 3 del file <a href={\"https://dolly.fim.unimore.it/2019/mod/resource/view.php?id=2716\"}><code>Ex_LP_testo</code></a> con il Simplex:\n <p>\n <Image src={\"https://i.imgur.com/1r405Mb.jpg\"}/>\n </p>\n </Example>\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 la cui origine non è una soluzione ammissibile.\n </p>\n <p>\n Prevede l'introduzione di un <i>problema ausiliario</i>, le cui variabili sono dette <i>artificiali</i> e sono solitamente rappresentate come <Latex>{r`y_n`}</Latex>.\n </p>\n <Example>\n E' spiegato in modo semplice <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={\"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><Minus>minimizzi</Minus> la somma</b> di tutte le variabili artificiali.</li>\n <li><u>Fase 1</u>: <b>Risolvi</b> il nuovo problema con il metodo Simplex.</li>\n <li>Se il Simplex termina con ancora <b>variabili artificiali nella base</b>, allora il problema è <b><Unfeasible/></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 metodo Simplex.</li>\n </ol>\n </Panel>\n </Split>\n </div>\n )\n }\n}\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"todo\":\"todo__1UVRh\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"plus\":\"plus__2u13i\"};","import style from \"./Unfeasible.less\";\r\n\r\nexport default function (props) {\r\n return (\r\n <span class={style.unfeasible}>{props.children ? props.children : \"unfeasible\"}</span>\r\n );\r\n}\r\n","import {Component} from 'preact'\nimport style from \"./timer.less\"\n\n\nexport default class Timer extends Component {\n constructor() {\n super();\n this.state = {\n \"now\": Date.now()\n };\n this.timer = null;\n }\n\n componentDidMount() {\n this.timer = setInterval(() => {\n this.setState({\"now\": Date.now()})\n }, 1000)\n }\n\n componentWillUnmount() {\n if(this.timer !== null) {\n clearInterval(this.timer)\n }\n }\n\n render() {\n let dateTo = \"Unknown date\";\n let className = style.timer;\n\n let parts = {\n milliseconds: \"?\",\n seconds: \"?\",\n minutes: \"?\",\n hours: \"?\",\n days: \"?\",\n };\n\n if(this.props.to) {\n dateTo = new Date(this.props.to);\n let timeLeft = dateTo - this.state.now;\n\n if(timeLeft > 0) {\n parts = {\n milliseconds: timeLeft % 1000,\n seconds: Math.floor(timeLeft / 1000) % 60,\n minutes: Math.floor(timeLeft / 60000) % 60,\n hours: Math.floor(timeLeft / 3600000) % 24,\n days: Math.floor(timeLeft / 86400000),\n };\n }\n\n else {\n parts = {\n milliseconds: 0,\n seconds: 0,\n minutes: 0,\n hours: 0,\n days: 0,\n };\n\n className += \" \" + style.expired;\n }\n }\n else {\n className += \" \" + style.unknown;\n }\n\n return (\n <div class={className} title={dateTo}>\n <div class={style.days + \" \" + style.count}>\n {parts.days}\n </div>\n <div className={style.days + \" \" + style.text}>\n giorni\n </div>\n <div class={style.hours + \" \" + style.count}>\n {parts.hours}\n </div>\n <div className={style.hours + \" \" + style.text}>\n ore\n </div>\n <div class={style.minutes + \" \" + style.count}>\n {parts.minutes}\n </div>\n <div className={style.minutes + \" \" + style.text}>\n minuti\n </div>\n <div class={style.seconds + \" \" + style.count}>\n {parts.seconds}\n </div>\n <div class={style.seconds + \" \" + style.text}>\n secondi\n </div>\n <div class={style.remaining}>\n rimasti\n </div>\n </div>\n )\n }\n}\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"timer\":\"timer__K0K_h\",\"days\":\"days__vN3tf\",\"hours\":\"hours__3v0KX\",\"minutes\":\"minutes__vkYk7\",\"seconds\":\"seconds__3gJ99\",\"count\":\"count__1VV4k\",\"text\":\"text__khS4i\",\"remaining\":\"remaining__zUECg\",\"unknown\":\"unknown__af307\",\"expired\":\"expired__1rtHB\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"unbounded\":\"unbounded__3Q7MA\"};","import style from './Latex.css';\nimport {useContext} from \"preact/hooks\";\nimport LatexRenderColor from \"../contexts/LatexRenderColor\";\nimport LatexDefaultInline from \"../contexts/LatexDefaultInline\";\n\nexport default function(props) {\n\t// black, blue, brown, cyan, darkgray, gray, green, lightgray, lime, magenta, olive, orange, pink, purple, red, teal, violet, white, yellow\n\tlet renderColor = useContext(LatexRenderColor);\n\tlet defaultInline = useContext(LatexDefaultInline);\n\n\tlet is_inline;\n\tif(props.inline === undefined) {\n\t\tis_inline = defaultInline;\n\t}\n\telse {\n\t\tis_inline = props.inline;\n\t}\n\n\tlet inline = is_inline ? `\\\\inline` : \"\";\n\tlet equation = `${inline} {\\\\color{${renderColor}} ${props.children} }`;\n\n\treturn (\n\t\t<img src={`https://latex.codecogs.com/svg.latex?${equation}`}\n\t\t\t alt={props.children}\n\t\t\t title={props.children}\n\t\t\t class={style.latex}\n\t\t/>\n\t);\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","import style from \"./Unbounded.less\";\r\n\r\nexport default function (props) {\r\n return (\r\n <span class={style.unbounded}>{props.children ? props.children : \"unbounded\"}</span>\r\n );\r\n}\r\n","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","import style from \"./todo.css\";\nimport { Component } from 'preact';\n\nexport default class Todo extends Component {\n\trender() {\n\t\treturn <span class={style.todo}>{this.props.children}</span>;\n\t}\n}\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"minus\":\"minus__2EaF0\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"latex\":\"latex__3zlIu\"};","import {createContext} from \"preact\";\r\n\r\nexport default createContext(true);\r\n","export default function(props) {\r\n return (\r\n <a href={props.src} title={props.alt} target={\"_blank\"}><img src={props.src} alt={props.alt}/></a>\r\n )\r\n}\r\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"unfeasible\":\"unfeasible__3QoOn\"};"],"sourceRoot":""}