Laboration 1 - Simplexmetoden och modellformulering

Relevanta dokument
Laboration 1 - Simplexmetoden och Modellformulering

LP-problem. Vårt första exempel. Baslösningar representerar extrempunkter. Baslösningar representerar extrempunkter

Tentamensinstruktioner

Optimeringslära Kaj Holmberg

1(8) x ijt = antal mobiltelefoner av typ i=1,,m, Som produceras på produktionslina 1,, n, Under vecka t=1,,t.

Optimeringslära Kaj Holmberg

TNK049 Optimeringslära

TENTAMEN. Tentamensinstruktioner. Datum: 30 augusti 2018 Tid: 8-12

Tentamensinstruktioner

Tentamensinstruktioner

Vinsten (exklusive kostnaden för inköp av kemikalier) vid försäljning av 1 liter fönsterputs är 2 kr för F1 och 3 kr för F3.

Optimeringslära Kaj Holmberg

Vinsten (exklusive kostnaden för inköp av kemikalier) vid försäljning av 1 liter fönsterputs är 2 kr för F1 och 3 kr för F3.

Tentamensinstruktioner. När Du löser uppgifterna

Laboration 2 - Heltalsoptimering

Tentamensinstruktioner

Lösningar till 5B1762 Optimeringslära för T, 24/5-07

Tentamensinstruktioner

TAOP33/TEN 2 KOMBINATORISK OPTIMERING GRUNDKURS

TAOP07/TEN1 OPTIMERINGSLÄRA GRUNDKURS för Y. Antal uppgifter: 7 Uppgifterna är inte ordnade efter svårighetsgrad.

TAOP33/TEN 2 KOMBINATORISK OPTIMERING GRUNDKURS

LP-dualitet: Exempel. Vårt första exempel. LP-dualitet: Relationer. LP-dualitet: Generellt

TAOP33/TEN 2 KOMBINATORISK OPTIMERING GRUNDKURS för D och C

Tentamensinstruktioner

Tentamensinstruktioner

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER

Optimeringslära Kaj Holmberg

TAOP33/TEN 2 KOMBINATORISK OPTIMERING GRUNDKURS

Optimeringslära Kaj Holmberg

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER

Tentamensinstruktioner. Vid skrivningens slut

Vårt första exempel. LP-dualitet: Exempel. LP-dualitet: Generellt. LP-dualitet: Relationer

Laborationsuppgift 1 Tillämpad optimeringslära för MMT (5B1722)

MIO310 OPTIMERING OCH SIMULERING, 4 p

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER

TAOP33/TEN 2 KOMBINATORISK OPTIMERING GRUNDKURS för D och C

Optimeringslära Kaj Holmberg

TAOP86/TEN 1 KOMBINATORISK OPTIMERING MED

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER

TAOP86/TEN 1 KOMBINATORISK OPTIMERING MED

TNSL05 Optimering, Modellering och Planering. Föreläsning 10

Speciell användning av heltalsvariabler. Heltalsprogrammering. Antingen-eller-villkor: Exempel. Speciell användning av heltalsvariabler

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER

Linjärprogrammering (Kap 3,4 och 5)

TAOP86/TEN 1 KOMBINATORISK OPTIMERING MED

TAOP61/TEN 1 OPTIMERING AV REALISTISKA SAMMANSATTA SYSTEM

TAOP33/TEN 2 KOMBINATORISK OPTIMERING GRUNDKURS

Optimeringslara = matematik som syftar till att analysera och. Optimeringslara ar en gren av den tillampade matematiken.

Optimeringslära Kaj Holmberg

Flöde i nätverk. Flöde i nätverk. Specialfall av minkostnadsflödesproblemet

Föreläsning 10/11! Gruppuppgifter: Gruppuppgift 1: Alla har redovisat. Gruppuppgift 2: Alla har redovisat Gruppuppgift 3: På gång.

Flöde i nätverk. Flöde i nätverk. Specialfall av minkostnadsflödesproblemet

Lösningar till SF1861 Optimeringslära, 28 maj 2012

TAOP33/TEN 2 KOMBINATORISK OPTIMERING GRUNDKURS

Ett linjärprogrammeringsproblem på allmän form ser ut som

MIO310 OPTIMERING OCH SIMULERING, 4 p

TAOP86/TEN 1 KOMBINATORISK OPTIMERING MED

Tentamensinstruktioner. När Du löser uppgifterna

TAOP33/TEN 2 KOMBINATORISK OPTIMERING GRUNDKURS

Laborationsinformation

TAOP61/TEN 1 OPTIMERING AV REALISTISKA SAMMANSATTA SYSTEM

TAOP61/TEN 1 OPTIMERING AV REALISTISKA SAMMANSATTA SYSTEM

Optimering med hjälp av Lego. Mathias Henningsson

TAOP61/TEN 1 OPTIMERING AV REALISTISKA SAMMANSATTA SYSTEM. Tentamensinstruktioner. När Du löser uppgifterna

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER

Linjärprogramming. EG2205 Föreläsning 7, vårterminen 2015 Mikael Amelin

MIO310 OPTIMERING OCH SIMULERING, 4 p

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER

Examinator: Torbjörn Larsson Jourhavande lärare: Torbjörn Larsson, tel Tentamensinstruktioner. När Du löser uppgifterna

Tentamensinstruktioner. När Du löser uppgifterna

TAOP86/TEN 1 KOMBINATORISK OPTIMERING MED

5B1817 Tillämpad ickelinjär optimering. Kvadratisk programmering med olikhetsbivillkor Active-set metoder

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER

TAOP61/TEN 1 OPTIMERING AV REALISTISKA SAMMANSATTA SYSTEM

TNSL05 Optimering, Modellering och Planering. Föreläsning 9

MIO310 OPTIMERING OCH SIMULERING, 4 p

TAOP86/TEN 1 KOMBINATORISK OPTIMERING MED

Tentamensinstruktioner. När Du löser uppgifterna

TAOP61/TEN 1 OPTIMERING AV REALISTISKA SAMMANSATTA SYSTEM. Tentamensinstruktioner. När Du löser uppgifterna

Flöde i nätverk. Flöde i nätverk. Specialfall av minkostnadsflödesproblemet. Specialfall av minkostnadsflödesproblemet. Slutsats.

TAOP33/TEN 2 KOMBINATORISK OPTIMERING GRUNDKURS

TAOP86/TEN 1 KOMBINATORISK OPTIMERING MED

TAOP33/TEN 2 KOMBINATORISK OPTIMERING GRUNDKURS

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER

TAOP14: Optimeringslära SAMMANFATTNING OSKAR QVIST:

TNSL05 Övningsuppgifter modellering

TAOP33/TEN 2 KOMBINATORISK OPTIMERING GRUNDKURS för D och C. Tentamensinstruktioner. När Du löser uppgifterna

1 LP-problem på standardform och Simplexmetoden

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER

Optimeringslära Kaj Holmberg. Lösningar/svar. Iteration 2: x 2 s

Lösningar/svar. Uppgift 1. Tekniska Högskolan i Linköping Optimering av realistiska sammansatta system. Optimeringslära Kaj Holmberg

Lösningar till SF1861/SF1851 Optimeringslära, 24/5 2013

Tentamensinstruktioner. När Du löser uppgifterna

Föreläsning 2: Simplexmetoden. 1. Repetition av geometriska simplexmetoden. 2. Linjärprogrammeringsproblem på standardform.

TNSL05 Optimering, Modellering och Planering. Föreläsning 6

Tentamensinstruktioner. När Du löser uppgifterna

TAOP61/TEN 1 OPTIMERING AV REALISTISKA SAMMANSATTA SYSTEM

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER

Dynamisk programmering. Dynamisk programmering. Dynamisk programmering. Dynamisk programmering

min c 1 x 1 + c 2 x 2 då x 1 + x 2 = 1, x 1 {0, 1}, x 2 {0, 1} plus andra bivillkor. Vi måste göra k st av n alternativ:

Transkript:

Linköpings universitet Optimeringslära grundkurs för Y Matematiska institutionen Laboration 1 Optimeringslära 29 januari 2017 Laboration 1 - Simplexmetoden och modellformulering Den första delen av laborationen syftar till att ge träning på simplexmetoden och öka förståelsen för linjärprogrammering. För att lösa LP-problem används här ett program skrivet i Matlab. Programmet används för att skapa simplextablåer och utföra pivoteringar, men man får själv ange startbas och välja inkommande och utgående variabeler. I laborationens andra del ska två problem formuleras och lösas med hjälp av modelleringsspråket Ampl. Syftet med detta är att ge förståelse för hur ett kommersiellt programpaket för optimeringsmodellering fungerar. Se Introduktion till modelleringsspråket Ampl för instruktioner och exempel. (Ampl ska även användas i laboration 2.) 1. Simplexmetoden 1. (Ska förberedas.) Inför slackvariabler i de två nedanstående LP-problemen. 2. Ge de två kommandona module add ext/mai och module add courses/taop07 i ett terminalfönster. Ge därefter kommandot matlab i samma terminalfönster. 3. Starta simplexprogrammet från Matlab med kommandot startasimplex. 4. Lös problemet nedan utgående från startbasen (x 1,x 2,s 1,s 3,s 4 ), där s 1,s 3 och s 4 är slackvariabler. (Problemet laddas in som uppgift4 med hjälp av Open.) maxz = 10x 1 + 2x 2 då x 1 + x 2 3 (1) 5x 1 + 2x 2 10 (2) 2x 1 x 2 10 (3) x 1 + x 2 7 (4) x 1 + 3x 2 9 (5) x 1,x 2 0 Rita in varje iterationspunkt i figur 1. Optimallösning:... Optimala basvariabler:... 1

9 8 7 6 5 (1) (4) (5) 4 X2 3 2 (3) 1 0 (2) 1 2 2 1 0 1 2 3 4 5 6 7 8 9 X1 Figur 1: Tillåtet område till uppgift 4 Vad är skuggpriset för villkor (4)?... Öka högerledet i villkor (4) till 8 (streckad linje i figuren). Hur stor förändring av det optimala målfunktionsvärdet kan förväntas?... Hur mycket förändras det optimala målfunktionsvärdet?... Optimala basvariabler:... Minska högerledet till 4. Vilket optimalvärde förutsäger skuggpriset?... Vad blir optimalvärdet? [Lös det modifierade problemet genom att starta om från basen (x 1,x 2,s 1,s 3,s 4 ).]... Optimala basvariabler:... För vilka högerled i villkor (4) är skuggpriset (för högerledet 7) giltigt? [Utnyttja figuren och enkla beräkningar!]... 2

5. Lös följande problemet (vilket kan laddas in som uppgift5). maxz = 6x 1 + 4x 2 + 7x 3 då x 1 + 2x 2 + 3x 3 10 (1) 2x 1 + x 2 + 2x 3 6 (2) 3x 1 + 3x 2 + 4x 3 13 (3) x 1,x 2,x 3 0 Vilka variabler ingår i optimalbasen?... Optimallösning:... Dual optimallösning:... 6. (Ska förberedas.) Antag att ett LP-problem som lösts med simplexmetoden ska utökas med en ny variabel. Hur beräknas dess reducerade kostnad (i aktuell bas)? 7. Antag att problemet i uppgift 5 utökas med en ny variabel, x 7, med målfunktionskoefficient c 7 = 2 och bivillkorskolumn A 7 = (3,0,1) T. Visa med en manuell uträkning att detta leder till att optimum förändras. Inför den nya variabeln i optimaltablån i uppgift 5. (Obs! Skriv in koefficienternas ursprungliga värden.) Utgå från den bas som tidigare var optimal och reoptimera (dvs lös det modifierade problemet). Ny optimallösning: 3

2. Modellering med Ampl 8. (Ska förberedas.) Läs igenom introduktionen till modelleringsspråket Ampl. 9. Kopiera filer till er hemkatalog med cp $KURSBIB/LAB1/*.dat. (Notera punkten på slutet. Eventuellt krävs först kommandona module add ext/mai och module add courses/taop07.) 10. Betrakta åter problemet i uppgift 4. maxz = 10x 1 + 2x 2 då x 1 + x 2 3 (1) 5x 1 + 2x 2 10 (2) 2x 1 x 2 10 (3) x 1 + x 2 7 (4) x 1 + 3x 2 9 (5) x 1,x 2 0 Lös problemet genom att modellera det i Ampl. Datafilen lpuppgift.dat finns redan på ert konto. Använd parameternamn som överensstämmer med de i datafilen. (Obs! I datafilen ges alla villkor på mindre än-form.) Konstruera själva även den kommandofil som behövs. Optimallösning:... Hur stora är slacken i villkoren?... Dual optimallösning:... Reducerade kostnader:... 11. Ett oljebolag har i Europa en uppsättning raffinaderier, R (se karta, figur 2), med kända kapaciteter K r ton, r R. Dessa raffinaderier skeppar på vatten eller transporterar på land ut en mängd produkter, p P, till en uppsättning terminaler, T. En terminal t T vill ta emot mellan l pt och u pt ton av en produkt p P. Oljebolaget vill maximera intäkter minus kostnader. Försäljningsintäkten f pt per ton av produkt p vid terminal t och tillverkningskostnaden q pr per ton av produkt p vid raffinaderi r är givna. Avståndet från raffinaderi r till terminal t är d rt mil, och kostnaden för att transportera ett ton av en produkt en mil är k. (Man antar för enkelhetens skull att kostnaden för transport på land och till sjöss är lika.) Transportkostnaden blir alltså c rt = kd rt per ton. Oljebolagets problem kan formuleras på följande sätt. Variabeldefinitioner: x pr z prt = producerad mängd av produkt p vid raffinaderi r (ton) = transporterad mängd av produkt p från raffinaderi r till terminal t (ton) 4

Modell: maxz = (f pt c rt )z prt q pr x pr p r t p r då l pt z prt u pt p,t (1) r x pr = z prt p,r (2) t x pr K r r (3) p x pr, z prt 0 (4) Villkorsgrupp (1) ser till att varje terminal får efterfrågad kvantitet. Villkorsgrupp (2) är kopplingen mellan variablerna x pr och z prt, och ser till att det som tillverkas av en viss produkt vid ett visst raffinaderi sedan transporteras ut till terminalerna. Villkorsgrupp (3) ser till att raffinaderiernas kapaciteter inte överskrids. Villkorsgrupp (4), slutligen, följer av variablernas definitioner. Figur 2: Karta till uppgift 11 5

(Ska förberedas) Formulera oljebolagets problem i Ampl. Nedan ges början till en sådan modellfil [som kan kopieras med cp $KURSBIB/LAB1/olja.mod. ]. I Ampl används ofta längre och på så sätt mer förståeliga namn på parametrar, mängder och variabler. De namn som används nedan sammanfaller med de som finns i datafilen olja.dat (som redan kopierats till er hemkatalog). set PRODUKTER; set RAFFINADERIER; set TERMINALER; param ovre{p in PRODUKTER, t in TERMINALER}; param undre{p in PRODUKTER, t in TERMINALER}; param pris{p in PRODUKTER, t in TERMINALER}; param milkostn; param avstand{r in RAFFINADERIER, t in TERMINALER}; param raffkostn{p in PRODUKTER, r in RAFFINADERIER}; param raffkap{r in RAFFINADERIER}; Antal variabler och bivillkor i problemet:... Lös problemet. Optimalt målfunktionsvärde:... Har något raffinaderi kapacitet över?... Vad är skuggpriset för kapaciteten i Nynäshamn?... Vilket optimalt målfunktionsvärde kan förväntas om kapaciteten i Nynäshamn ökar med 10 ton?... Lös det modifierade problemet. Blev resultatet det förväntade? Varför (inte)? Hur förändrades kapacitetsutnyttjandet? Förklara!... Öka kapaciteten i Nynäshamn med ytterligare 40 ton till 550 ton. Överensstämmer skillnaden i målfunktionsvärdet med skuggpriset? Varför (inte)? 6