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.cbdc2.esm.js

9 lines
7.2 KiB
JavaScript
Raw Normal View History

2020-05-23 05:37:27 +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 A}));var a=i("hosL"),e=i("ddBW"),t=i("ZsnK"),u=i("9yVG"),o=i("PEwj"),r=i("7bXG"),s=i("GC6P"),d=i("bQQT"),c=i("hwaz");let m,b,p,f,v,z,h,g,_,q,w,x,C,L,T,F,S,B,y,G,Q,D=l=>l;const j=String.raw;class A extends a.Component{render(){return l("div",null,l("h1",null,"Ottimizzazione lineare intera"),l(e.a,{title:"Materiale"},l(u.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(e.a,{title:"Le basi"},l(u.a,{title:"Funzione obiettivo"},l("p",null,"La funzione obiettivo è la funzione con valore noto sconosciuto:"),l("p",null,l(t.a,null,j(m||(m=D`z = C_1 \cdot x_1 + C_2 \cdot x_2 + C_n \cdot x_n`))))),l(u.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,j(b||(b=D`\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,j(p||(p=D`e_i`)))," è la direzione della coordinata i-esima."),l(o.a,null,"Se ",l(t.a,null,j(f||(f=D`n = 3`))),", allora:",l("ul",null,l("li",null,l(t.a,null,j(v||(v=D`e_1 = (1, 0, 0)`)))),l("li",null,l(t.a,null,j(z||(z=D`e_2 = (0, 1, 0)`)))),l("li",null,l(t.a,null,j(h||(h=D`e_3 = (0, 0, 1)`)))))),l(o.a,null,"Se la funzione obiettivo è ",l(t.a,null,"z = 2w + 3x + 4y"),", il suo gradiente è ",l(t.a,null,j(g||(g=D`\nabla z = (2, 3, 4)`))),"."))),l(e.a,{title:"Forme di un sistema"},l(u.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(u.a,{title:"Forma canonica"},l("ul",null,l("li",null,l(d.a,null,"Equazioni e disequazioni")),l("li",null,l(s.a,null,"Tutte le variabili maggiori di zero")))),l(u.a,{title:"Forma generale"},l("ul",null,l("li",null,l(d.a,null,"Equazioni e disequazioni")),l("li",null,l(d.a,null,"Variabili con qualsiasi valore"))))),l(e.a,{title:"Equivalenza di forma"},l(u.a,{title:"Da standard a generale"},l("p",null,"Convertiamo ogni equazione ",l(t.a,null,j(_||(_=D`=`)))," in due disequazioni ",l(t.a,null,j(q||(q=D`\leq`)))," e ",l(t.a,null,j(w||(w=D`\geq`))),","),l(o.a,null,"Why would you ever do that?!")),l(u.a,{title:"Da canonica a standard"},l("p",null,"Convertiamo le disequazioni in equazioni aggiungendo una variabile slack."),l(o.a,null,l(t.a,null,j(x||(x=D`a \leq 3`)))," diventa ",l(t.a,null,j(C||(C=D`a + s_1 = 3`))),".")),l(u.a,{title:"Da generale a canonica"},l("p",null,"Sostituiamo le variabili potenzialmente negative (unconstrained) ",l(t.a,null,j(L||(L=D`x_j`)))," con due variabili ",l(t.a,null,j(T||(T=D`x_j^+`)))," e ",l(t.a,null,j(F||(F=D`x_j^-`))),"."),l(o.a,null,l(t.a,null,j(S||(S=D`a \in \mathbb{Z}`)))," diventa ",l(t.a,null,j(B||(B=D`a^+ \in \mathbb{N}`)))," e ",l(t.a,null,j(y||(y=D`-a^- \in \mathbb{N}`))),"."))),l(e.a,{title:"La forma standard"},l(u.a,{title:"Funzione obiettivo"},l("p",null,"La funzione da minimizzare/massimizzare, tipicamente indicata con una ",l(t.a,null,j(G||(G=D`z`)))," al termine noto.")),l(u.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(o.a,null,"Il sistema:",l("br",null),l("br",null),l(t.a,null,j(Q||(Q=D`
\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,"A")),l("th",null,l(t.a,null,"B")),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(u.a,{title:"Variabili di base"},l("p",null,l(r.a,null,"TODO: come spiegarla?")))),l(e.a,{title:"Simplex"},l(u.a,{title:"Simplex"},l("p",null,"Un algoritmo per massimizzare efficientemente variabili di sistemi lineari, derivato da Gauss-Jordan."),l(o.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(u.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(o.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 questo rapporto: ",l(c.a,null,"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(u.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. ",l(o.a,null,"Impedisce cicli infiniti!"))))),l(e.a,{title:"Metodo delle due fasi"},l(u.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)},GC6P:function(l,n,i){"use strict";(function(l){i.d(n,"a",(function(){return u}));var a=i("giqd"),e=i.n(a),t=i("hosL");class u extends t.Component{render(){return l("span",{class:e.a.minus},this.props.children)}}}).call(this,i("hosL").h)},Qnof:function(l){l.exports={plus:"plus__29_QM"}},bQQT:function(l,n,i){"use strict";(function(l){i.d(n,"a",(function(){return u}));var a=i("Qnof"),e=i.n(a),t=i("hosL");class u extends t.Component{render(){return l("span",{class:e.a.plus},this.props.children)}}}).call(this,i("hosL").h)},giqd:function(l){l.exports={minus:"minus__2Ld4F"}}}]);
//# sourceMappingURL=route-ottimizzazioneLineare.chunk.cbdc2.esm.js.map