1
Fork 0
mirror of https://github.com/Steffo99/unisteffo.git synced 2024-11-30 03:44:19 +00:00
triennale-appunti-steffo/docs/route-ottimizzazioneLineare.chunk.192fc.esm.js

9 lines
11 KiB
JavaScript
Raw Normal View History

2020-05-23 22:54:19 +00:00
(window.webpackJsonp=window.webpackJsonp||[]).push([[9],{"/fDt":function(l,n,i){"use strict";i.r(n),function(l){i.d(n,"default",(function(){return O}));var e=i("hosL"),a=i("lL4N"),t=i("OMhl"),o=i("HKwK"),u=i("PEwj"),s=(i("jXlC"),i("UEJU")),r=i("h7i1"),d=(i("3Gjt"),i("BSmf")),c=i("xY5u");let m,p,h,f,b,v,_,z,g,x,w,q,L,C,U,k,y,S,E,j,T,D,F=l=>l;const M=String.raw;class O extends e.Component{render(){return l("div",null,l("h1",null,"Ottimizzazione lineare intera"),l(a.a,{title:"Unimore"},l(o.a,{title:"Videolezioni su YouTube"},l("p",null,"Ho rimosso il rumore in sottofondo da tutti i video di Ricerca Operativa!"),l("p",null,l("b",null,l("a",{href:"https://www.youtube.com/playlist?list=PLh93e8qjTszffkHNn-19CqUOhHFbhBlBh"},"Guardate i video qui!")))),l(o.a,{title:"Prossimi appelli"},l("ol",null,l("li",null,l(d.a,{to:"2020-06-08"})),l("li",null,l(d.a,{to:"2020-06-25"})),l("li",null,l(d.a,{to:"2020-07-14"}))))),l(a.a,{title:"Le basi"},l(o.a,{title:"Funzione obiettivo"},l("p",null,"La funzione obiettivo è la funzione con valore noto sconosciuto:"),l("p",null,l(t.a,null,M(m||(m=F`z = C_1 \cdot x_1 + C_2 \cdot x_2 + C_n \cdot x_n`))))),l(o.a,{title:"Gradiente"},l("p",null,"Funzione della funzione obiettivo che indica la direzione del suo aumento più veloce."),l("p",null,l(t.a,null,M(p||(p=F`\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`)))),l("p",null,l(t.a,null,M(h||(h=F`e_i`)))," è la direzione della coordinata i-esima."),l(u.a,null,"Se ",l(t.a,null,M(f||(f=F`n = 3`))),", allora:",l("ul",null,l("li",null,l(t.a,null,M(b||(b=F`e_1 = (1, 0, 0)`)))),l("li",null,l(t.a,null,M(v||(v=F`e_2 = (0, 1, 0)`)))),l("li",null,l(t.a,null,M(_||(_=F`e_3 = (0, 0, 1)`)))))),l(u.a,null,"Se la funzione obiettivo è ",l(t.a,null,"z = 2w + 3x + 4y"),", il suo gradiente è ",l(t.a,null,M(z||(z=F`\nabla z = (2, 3, 4)`))),"."))),l(a.a,{title:"Forme di un sistema"},l(o.a,{title:"Forma standard"},l("ul",null,l("li",null,l(s.a,null,"Solo equazioni")),l("li",null,l(s.a,null,"Tutte le variabili maggiori di zero")))),l(o.a,{title:"Forma canonica"},l("ul",null,l("li",null,l(r.a,null,"Equazioni e disequazioni")),l("li",null,l(s.a,null,"Tutte le variabili maggiori di zero")))),l(o.a,{title:"Forma generale"},l("ul",null,l("li",null,l(r.a,null,"Equazioni e disequazioni")),l("li",null,l(r.a,null,"Variabili con qualsiasi valore"))))),l(a.a,{title:"Equivalenza di forma"},l(o.a,{title:"Da standard a generale"},l("p",null,"Convertiamo ogni equazione ",l(t.a,null,M(g||(g=F`=`)))," in due disequazioni ",l(t.a,null,M(x||(x=F`\leq`)))," e ",l(t.a,null,M(w||(w=F`\geq`))),","),l(u.a,null,"Why would you ever do that?!")),l(o.a,{title:"Da canonica a standard"},l("p",null,"Convertiamo le disequazioni in equazioni aggiungendo una variabile slack."),l(u.a,null,l(t.a,null,M(q||(q=F`a \leq 3`)))," diventa ",l(t.a,null,M(L||(L=F`a + s_1 = 3`))),".")),l(o.a,{title:"Da generale a canonica"},l("p",null,"Sostituiamo le variabili potenzialmente negative (unconstrained) ",l(t.a,null,M(C||(C=F`x_j`)))," con due variabili ",l(t.a,null,M(U||(U=F`x_j^+`)))," e ",l(t.a,null,M(k||(k=F`x_j^-`))),"."),l(u.a,null,l(t.a,null,M(y||(y=F`a \in \mathbb{Z}`)))," diventa ",l(t.a,null,M(S||(S=F`a^+ \in \mathbb{N}`)))," e ",l(t.a,null,M(E||(E=F`-a^- \in \mathbb{N}`))),"."))),l(a.a,{title:"La forma standard"},l(o.a,{title:"Funzione obiettivo"},l("p",null,"La funzione da minimizzare/massimizzare, tipicamente indicata con una ",l(t.a,null,M(j||(j=F`z`)))," al termine noto.")),l(o.a,{title:"Tableu"},l("p",null,"Un modo per rappresentare sistemi in forma standard, anche noto come ",l("b",null,"matrice equivalente completa")," del sistema."),l(u.a,null,"Il sistema:",l("br",null),l("br",null),l(t.a,null,M(T||(T=F`
\begin{cases}
2000A + 1000B = z\\
1A \leq 3\\
1B \leq 3\\
2A + 2B \leq 7
\end{cases}
`))),l("br",null),l("br",null),"Diventa in forma di tableau:",l("br",null),l("br",null),l("table",{class:"right"},l("thead",null,l("tr",null,l("th",null,l("abbr",{title:"Termine noto"},"TN")),l("th",null,l(t.a,null,"x_1")),l("th",null,l(t.a,null,"x_2")),l("th",null,l(t.a,null,"s_1")),l("th",null,l(t.a,null,"s_2")))),l("tbody",null,l("tr",null,l("td",null,l(t.a,null,"z")),l("td",null,l(t.a,null,"2000")),l("td",null,l(t.a,null,"1000")),l("td",null,l(t.a,null,"0")),l("td",null,l(t.a,null,"0"))),l("tr",null,l("td",null,l(t.a,null,"3")),l("td",null,l(t.a,null,"1")),l("td",null,l(t.a,null,"0")),l("td",null,l(t.a,null,"1")),l("td",null,l(t.a,null,"0"))),l("tr",null,l("td",null,l(t.a,null,"3")),l("td",null,l(t.a,null,"0")),l("td",null,l(t.a,null,"1")),l("td",null,l(t.a,null,"0")),l("td",null,l(t.a,null,"1"))),l("tr",null,l("td",null,l(t.a,null,"7")),l("td",null,l(t.a,null,"2")),l("td",null,l(t.a,null,"2")),l("td",null,l(t.a,null,"0")),l("td",null,l(t.a,null,"0"))))))),l(o.a,{title:"Variabili di base"},l("p",null,"Variabili che hanno tutti 0 e un 1 nella loro colonna del tableu."),l("p",null,"La loro controparte sono le ",l("i",null,"variabili fuori base"),"."),l("p",null,"Un sistema lineare è risolto quando tutte le variabili originali (",l(t.a,null,"x_n"),") sono nella base."))),l(a.a,{title:"Simplex"},l(o.a,{title:"Cos'è?"},l("p",null,"Un algoritmo per massimizzare efficientemente variabili di sistemi lineari, derivato da Gauss-Jordan."),l(u.a,null,"E' spiegato semplicemente ",l("a",{href:"https://web.archive.org/web/20200523052252/https://www.cs.cmu.edu/~15451-f17/handouts/simplex.pdf"},"qui"),".")),l(o.a,{title:"I passi"},l("ol",null,l("li",null,"Trasforma il sistema in ",l("b",null,"forma standard"),"."),l("li",null,"Finchè ci sono variabili con coefficienti positivi nella funzione obiettivo:",l("ol",null,l("li",null,l("b",null,"Scegli")," una variabile della funzione obiettivo, chiamandola ",l("i",null,"variabile entrante"),". ",l(u.a,null,"Come? Vedi nel prossimo pannello.")),l("li",null,"Trova la variabile di base (detta ",l("i",null,"variabile uscente"),") con il ",l("b",null,"valore minore")," per il rapporto ",l(t.a,null,M(D||(D=F`\frac{termine\ noto}{coeff.\ variabile\ entrante}`)))),l("li",null,l("b",null,"Riscrivi")," tutte le funzioni del sistema in termini della variabile entrante."))),l("li",null,"Il ",l("b",null,"termine noto")," della funzione obiettivo è il tuo risultato."))),l(o.a,{title:"Sotto forma di tableau"},l("p",null,"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.")),l(o.a,{title:"Criteri per la variabile entrante"},l("ul",null,l("li",null,"Coefficiente maggiore nella funzione obiettivo."),l("li",null,"Incremento maggiore della funzione obiettivo."),l("li",null,"A caso."),l("li",null,l("i",null,"Regola di Bland"),": scegli variabili entranti e uscenti con indice minore (ovvero, prendi le prime possibili). ",l(u.a,null,"È usato nella teoria perchè impedisce i cicli infiniti!")))),l(o.a,{title:"Esempio"},l(u.a,null,"Ho risolto il problema 3 del file ",l("a",{href:"https://dolly.fim.unimore.it/2019/mod/resource/view.php?id=2716"},l("code",null,"Ex_LP_testo"))," con il Simplex:",l("p",null,l(c.a,{src:"https://i.imgur.com/1r405Mb.jpg"}))))),l(a.a,{title:"Metodo delle due fasi"},l(o.a,{title:"Metodo delle due fasi"},l("p",null,"Un estensione del Simplex per permettere la risoluzione di problemi con termini noti negativi."),l("p",null,"Prevede l'introduzione di un ",l("b",null,"problema ausiliario"),"."))))}}}.call(this,i("hosL").h)},"3k98":function(l){l.exports={todo:"todo__1UVRh"}},"56OW":function(l){l.exports={plus:"plus__2u13i"}},BSmf:function(l,n,i){"use strict";(function(l){i.d(n,"a",(function(){return o}));var e=i("hosL"),a=i("EfTa"),t=i.n(a);class o extends e.Component{constructor(){super(),this.state={now:Date.now()},this.timer=null}componentDidMount(){this.timer=setInterval(()=>{this.setState({now:Date
//# sourceMappingURL=route-ottimizzazioneLineare.chunk.192fc.esm.js.map