tentaplugg.nu av studenter för studenter

Storlek: px
Starta visningen från sidan:

Download "tentaplugg.nu av studenter för studenter"

Transkript

1 tentaplugg.nu av studenter för studenter Kurskod Kursnamn T7005N Operationsanalys Datum LP2 13/14 Material Kursexaminator Sammanfattning Björn Samuelsson Betygsgränser Tentamenspoäng Övrig kommentar

2 Sammanfattning i Operationsanalys T7005N Utifrån föreläsningar och kurslitteratur 2013/2014 Carl Enbom /I4 Något som inte stämmer? Maila carenb-0@student.ltu.se. Summan av alla variabler och index i den här sammanfattningen överstiger rätt rejält I:arnas samlade årslöner, så jag reserverar mig för att det kan vara fel någonstans! Sammanfattningen räckte gott och väl till en femma. Fokus (med Björn som examinator) ligger främst på att kunna formulera problem + en del teori, t ex bevisen för satserna.

3 Innehållsförteckning Föreläsning 1 Allmänt... 1 Tre olika sätt att lösa problem... 1 Optimeringsprocessen... 1 Matematisk formulering... 2 Problemklassificering... 2 Föreläsning 2 Definitioner och egenskaper... 3 Grundläggande definitioner... 3 Steg för att lösa ett problem... 3 Egenskaper hos lösningen... 4 Förutsättningar för LP... 5 Föreläsning 3 Formulering av problem... 6 Indexering och summering... 6 Tumregel för summering... 7 Transportproblem... 8 Genomflödesproblem... 9 Föreläsning 4 och 5 Simplex LP-problemets allmäna form Satser och definitioner Standardform Simplex Föreläsning 6 Gurobi Föreläsning 7 Artificiella problem Föreläsning 8 Repetition Föreläsning 9:1 - Heltalsmodeller Fabrik och lager Fasta kostnader Antingen eller Kappsäcksproblemet Tillordningsproblem Generaliserat tillordningsproblem Sekvensieringsproblem Föreläsning 9:2 Nätverksplanering Grundläggande begrepp... 29

4 Billigaste uppspännande träd Billigaste vägen-problemet Minflödesproblem Maxflödesproblem Föreläsning 10 Känslighetsanalys Relaxation och restriktion Förändringar av värden Skuggpriser Tolkning av utdata Föreläsning 11 Dualitet Tolkning av det duala problemet Formulering av det duala problemet Exempel Svag och stark dualitet Föreläsning 12 Mer om heltalsprogrammering Lösningsmetoder Exempel: minimering av hyreskostnad Trädsökning Generell metodik Föreläsning 13:1 Handelsresande Föreläsning 13:2 Ruttplanering Formulering (optimerande) Clarke and Wright (heuristisk)... 53

5 Föreläsning 1 Allmänt Mycket av föreläsningen består av bakgrundsinformation och enklare exempel som inte tas upp här. Operationsanalys är tillämpad matematik för att ge beslutsstöd i komplexa planeringsprocesser. Det finns med största sannolikhet inte en optimal lösning, utan flera lösningar som är olika bra beroende på i vilken kontext de används. Exempelvis kan man använda känslighetsanalys för att undersöka hur en modell beter sig om variabler förändras; vad blir utfallet om transportkostnader ökar? Ett par tillämpningar av Operationsanalysen är: ruttplanering, anläggningslokalisering, produktmixproblem, bemanningsplanering hos flygbolag, planering av fotbollsligor etc. Oavsett tillämpningsområde är kärnan att identifiera ett verkligt problem och förenkla det till en matematisk modell. Tre olika sätt att lösa problem LP/MIP utgår från att formulera en matematisk modell på rätt sätt. Heuristisk är kostnadseffektiv men garanterar inte optimum. Brute force är ohållbart dyr, då den undersöker alla kombinationer. Lösningens kvalitet vägs mot lösningens kostnad. Optimeringsprocessen Förklaring: Ett verkligt problem är komplext och inte särskilt fyrkantigt. Genom att identifiera, avgränsa och förenkla får vi ett förenklat problem som vi kan hantera. Med ett mer kvadratiskt problem kan vi nu arbeta vidare. 1

6 Matematisk formulering Ett optimeringsproblem kan formuleras generellt som (P) min f(x) då x X. Här är f(x) en målfunktion som beror av variablerna x = (x 1,x 2,,x n ) T. Mängden X definierar de tillåtna lösningarna i problemet. Vanligtvis uttrycks X med hjälp av bivillkor och en alternativ formulering av problemet (P) skrivs: min f(x) då g i (x) b i, i=1,, m Här är g 1 (x),, g m (x) är funktioner som beror av x och b 1,,b m är givna konstanter. En lösning x X som minimerar f(x) kallas en optimallösning, och betecknas ofta x*. Optimala målfunktionsvärdet betecknas ofta z*. Problemklassificering Normalt sett kan vi tala om tre klassificeringar: Linjärprogrammeringsproblem (LP) om o Alla funktioner f, g 1,,g m är linjära funktioner. o Alla variabler är kontinuerliga. Ickelinjärt problem om o Minst en av funktionerna f, g 1,,g m är en ickelinjär funktion. o Alla variabler är kontinuerliga. Problemet (P) är ett heltalsproblem om o Minst en av variablerna är en diskret variabel. Antingen att de kan anta heltaliga värden x j {0,1,2 }. Eller binära variabler x j {0,1}. o Om problemet är formulerat med enbart linjära funktioner har vi ett linjärt heltalsproblem, (MIP). Något värt att nämna om heltalsproblem: om vi tillverkar tändstickor spelar det inte särskilt stor roll om vi avrundar tillverkningen av 1043,4 tändstickor till Om det däremot är stora och kostsamma projekt, t ex vid en byggnation av hus, är det av mycket större betydelse. 2

7 Föreläsning 2 Definitioner och egenskaper Grundläggande definitioner Främst tre som är viktiga att hålla koll på: Variabler o Beslutsvariabler, t ex x 1 = flervåningshus. o Vad vi söker svaret på. Målfunktion o Vad vi vill maximera/minimera. o Kärnan: hur mycket bidrar beslutsvariablerna till målfunktionens värde. Restriktioner o Vad begränsar vilka värden våra variabler kan anta? o Koefficienterna och högersidan kallas för problemets parametrar. Steg för att lösa ett problem Det här är ett exempel som utgår från Fajo AB. Det finns i sin helhet på fronter, här lyfter jag bara fram det viktigaste inom vardera steg; (1) variabler, (2) målfunktion samt (3) restriktioner och parametrar. 1. Variabler Antag att vi sätter x 1 = antal tillverkade hockeyklubbor och x 2 = antal tillverkade bandyklubbor. Det här är alltså de beslutsvariabler som vi söker svaret på. 2. Målfunktion En fråga att ställa sig är vad bidrar respektive x 1 och x 2 till värdet? Vi vill maximera vinsten. Således: Max z = 20x x 2 3. Restriktioner och parametrar I exemplet Fajo AB har vi två aktiviteter: sågning och limning. Identifiera alltid aktiviteterna. Det är för aktiviterna vi söker vilka restriktioner som vi har. Sågning: tillgängligt är 60 timmar/vecka = 3600 min/vecka Limning: tillgängligt är 90 timmar/vecka = 5400 min/vecka Dessa är högersidan i våra begränsningar. Vi behöver även ta reda på tiden för respektive aktivitet. Sågning: en hockeyklubba tar 7 min att såga, en bandyklubba 10 min. Limning: en hockeyklubba tar 16 min att limma, en bandyklubba 12 min. Våra restriktioner kan således uttryckas enligt: för sågningen, samt ha några negativa variabler, alltså. för limningen. Vi kan dessutom inte 3

8 Egenskaper hos lösningen Först och främst finns den tillåtna lösningen inom det område som begränsas av restriktionerna. För området kan lösningen se olika ut. Unik optimallösning innebär att det endast finns en optimallösning. Den här lösningen återfinns alltid i en hörnpunkt. Alternativa optimallösningar om det bästa målfunktionsvärdet (alltså z) förekommer i minst två hörnpunkter kan vi tala om alternativa optimallösningar. Alla lösningar mellan dessa punkter kommer att ha samma målfunktionsvärde; vi har således ett oändligt antal optimallösningar. Obegränsad lösning inträffar när det tillåtna området är öppet i den riktningen i vilken målfunktionen förbättras, t ex om vi enbart har restriktionen. Tillåten lösning saknas inträffar när bivillkoren är definierade så att ingen punkt uppfyller samtliga bivillkor, t ex och. 4

9 Förutsättningar för LP Fyra till antalet: Proportionalitet bidraget från varje aktivitet till värdet på målfunktionen är proportionell mot graden av aktivitet. Vi kan alltså inte ha någon exponentiell funktion, utan den måste vara proportioneligt linjär. Additivitet varje funktion är summan av de enskilda bidragen till respektive aktivitet. Delbarhet beslutsvariabler i en LP-modell kan anta alla värden, inkluderande icke heltal, som uppfyller alla restriktioner och icke-negativitetskrav. Visshet värdet på varje parameter i en LP-modell antas vara en känd konstant. Exempelvis uttrycker vi att efterfrågan är 22 enheter och inte en poissonfördelning med väntevärdet 22. Det är en stor skillnad. 5

10 Föreläsning 3 Formulering av problem Här kommer en kul lista. Att göra en optimeringsbar modell av verkligheten 1. Definiera problem vi ska lösa och samla relevant information. a. Problemen är sällan väldefinierade; vi måste förstå verkligheten. b. Lösningarna ska vara beslutsstöd för ledningen; ledningen måste förstå vad vi gör. c. Vi måste se till att vi inte suboptimerar. d. Många gånger handlar det om att rationalisera en befintlig verksamhet; vi måste vara noggranna med sanningen. Det är bra att lova mindre snarare än mer. e. Datainsamlingen är typiskt den mest tidskrävande processen. Viktigt att definiera vilken information som ska fås ur systemet. Även viktigt att validera och jämföra. 2. Formulera en matematisk modell som representerar problemet. a. Vilka beslut ska fattas exempelvis produktion och transport. b. Dessa är våra variabler variabler som påverkar problemet. c. Vad tillför de målfunktionen? Målfunktionen ska enbart innehålla komponenter som påverkas av variablerna. d. Våra begräsningar studera och förenkla. 3. Skriv problemet i en datormiljö och erhåll lösningar. a. Vi erhåller en optimal lösning kan finnas mer praktiska lösningar som ligger mycket nära optimum. Vi måste göra känslighetsanalyser kritiska faktorer såsom transportkostnader, marknadsutveckling etc. 4. Testa modellen och förbättra. a. Lås modellen och låt den bete sig som aktuell verklighet. b. Jämför resultaten med verkligt aktuellt resultat, t ex körda km, total transportkostnad etc. c. Modellen är ofta något bättre än verkligheten, eftersom modellen inte gör fel. 5. Förbered för att använda modellen. a. Dokumentera väl för användning; hur den ska användas, hur ny data ska föras in, hur resultataten ska förstås etc. 6. Implementera. a. Hur modellen ska föras ut i verksamheten. b. Utbildning. c. Support. d. Utveckling. Indexering och summering För att kunna skriva problemet (P) effektivt och förståeligt är det viktigt att välja lämpliga notationer. Antag exempelvis att vi har = mängd av råvara i som ingår i produkt j under tidsperiod t, där i = 1,.., 5, j = 1,..., 10 och t = 1,..., 4. Totalt ger detta 200 variabler, och det är relevant att fråga sig hur detta kan skrivas så enkelt som möjligt. Idén är att införa ett index för varje kategori eller komponent som finns representerat i problemet. Om det finns en begränsad råvara skulle vi kunna skriva: 6

11 Vi kan även använda dubbla (eller ännu fler) summationer. Antag att den totala efterfrågan per produkt och tidsperiod är och att vi måste producera för j = 1,..., 10 och t = 1,..., 4. Antag även att det finns en maximal kapacitet hur många enheter (oavsett) produkttyp som kan produceras per fabrik under hela tidsperioden. Vi får då: Tumregel för summering Ibland kan det vara förvirrande om det ska vara en enkel, dubbel eller trippel summering. Det här är mina högst ovetenskapliga reflektioner som jag inte hittat någonstans, utan skrivit ner utifrån egna observationer. Följande kan vara bra att hålla i åtanke: En enkel summering sker över en rad i. En dubbel summering sker över rad i och kolumn j (matris, tvådimensionell). En trippel summering sker även över ett djup (tredimensionell). Nedan följer ett antal exempel. Av de tal jag stött på har jag hittat följande mönster: o o o Vi har tre index i vänsterledet, och ett index i högerledet. Differensen mellan indexen är 2, vilket också är antalet summationer. Vi har två index i vänsterledet, men ingenting i högerledet. Differensen mellan indexen är två, vilket också är antalet summationer. Vi har två index i vänsterledet, och ett index i högerledet. Differensen mellan indexen är 1, vilket också är summationen. o VI har som max två index i vänsterledet, och ett index i högerledet. Vi tar differensen mellan vårt max och högerledet, vilket blir 1 som också är summationen. o o o Vi har max tre index i vänsterledet, men inget index i högerledet. Differensen mellan indexen är tre, vilket också är antalet summationer. Vi har tre index i vänsterledet, och två index i högerledet. Differensen mellan indexen är 1, vilket också är summationen. Vi har max två index i vänsterledet, och en konstant i högerledet. Även här kan man tänka att konstanten har ett noll-index som gör att differensen är 1 och därmed enkelsummering. 7

12 Detta gäller INTE för varenda summation och det FINNS undantag, men det kan åtminstone fungera som en första utgångspunkt i att formulera problemet. Transportproblem Företaget NordMejeri producerar mjölk vid fyra olika anläggningar och distribuerar sedan mjölken till fem stora kunder. Minimera transportkostnaden samtidigt som efterfrågan uppfylls. Kapaciteten och efterfrågan ges av tabellen: Anläggning F1 F2 F3 F4 Kapacitet (1000-tal liter) Kund K1 K2 K3 K4 K5 Efterfrågan (1000-tal liter) Transportkostnaderna per liter mellan anläggningarna och kunderna K1 K2 K3 K4 K5 F1 2,80 2,55 3,25 4,30 4,35 F2 4,30 3,15 2,55 3,30 3,50 F3 3,00 3,30 2,90 4,30 3,40 F4 5,20 4,45 3,50 3,75 2,45 Lösning Mängder: Fabriker (i) 1,2,3,4 Kunder (j) 1,2,3,4,5 Vi vill bestämma hur mycket som ska gå från varje fabrik till varje kund. Variabler = antal liter mjölk från fabrik i till kund j i=1,2,3,4 j=1,2,3,4,5 Parametrar kapacitet vid fabrik i i =1,2,3, 4 = efterfrågan kund j j=1,2,3,4,5 transportkostnad från fabrik i till kund j i=1,2,3,4 j=1,2,3,4,5 Målfunktion 8

13 Då Genomflödesproblem Antag nu att vi inför en möjlighet till transport och distribution via två distributionscentraler, D1 och D2. D1 D2 F F F F K1 K2 K3 K4 K5 D D Vi lägger till två distributionscentraler En ny mängd: Distributionscentraler (k) 1,2 Två nya variabler: antal liter mjölk från fabrik i till DC k antal liter mjölk från DC k till kund j i=1,2,3,4 k=1,2 k=1,2 j=1,2,3,4,5 Två nya parametrar Transportkostnad från fabrik i till DC k Transportkostnad från DC k till kund j i=1,2,3,4 k=1,2 k=1,2 j=1,2,3,4,5 Målfunktion 9

14 Då Principskiss 10

15 Föreläsning 4 och 5 Simplex Här beskrivs LP-problemet på allmän form, ett par satser/definitioner samt Simplex. Bevisen är inte med. LP-problemets allmäna form Simplexmetoden utnyttjar den matematiska strukturen hos LP-problem. Först behöver vi skriva det på allmän form: Där är målfunktionskoefficienten för variabel, är bivillkorskoefficienten för variabel i bivillkor i och är högerledskoefficienten för bivillkor i. Man kan även formulera LP-problemet med matrisbeteckningar: Här är [ ] [ ] ( ) [ ] är en matris av storlek (m x n) och [ ] är en vektor av storlek (m x 1). Satser och definitioner Här följer ett antal satser och definitioner som är grundläggande för Simplex. Sats 1: konvex mängd Det tillåtna området i ett LP-problem utgör en konvex mängd. Till vänster en konvex mängd, till höger en icke-konvex mängd. 11

16 Definition 1 En konvexkombination av punkterna x (1), x (2),..., x (P) är en punkt x sådan att ( ) För oss som är intresserade av att veta vad det innebär på svenska så är en konvexkombination två eller flera baspunkter, exempelvis x (1) och x (2), som befinner sig mellan baspunkterna. I den vänstra figuren ovan innebär det att alla punkter som ligger mellan x och y är en konvexkombination. Definition 2 Punkten x (k) är en extrempunkt i x om x (k) ej kan skrivas som en strikt konvexkombination av två punkter i x. Dvs, en punkt i ett hörn (exempelvis en extrempunkt) kan inte ingå i en konvexkombination (= punkten kan inte ligga mellan två punkter). Linjärprogrammeringens fundamentalsats Antag att det tillåtna området X till ett LP-problem är begränsat och icke-tomt, dvs det existerar en begränsad optimallösning till LP-problemet. Då gäller att minimum av målfunktionen c T x antas i minst en extrempunkt x (k) i X. Kommentar: satsen visar att det aldrig kan finnas en icke-extrempunkt som är bättre än samtliga extrempunkter, varav följer att det alltid finns minst en extrempunkt som är optimal. Det faktum att optimallösningen till ett LP-problem alltid återfinns i en extrempunkt utnyttjas av simplexmetoden genom att den endast söker bland extremlösningar. Standardform När man ska beskriva simplexmetoden matematiskt är det en fördel om det tillåtna området är uttryckt enbart med ekvationer. Dessutom är det praktiskt att låta alla variabler vara definierade som icke-negativa. Det finns alltså två förutsättningar, och vi måste: Uttrycka alla bivillkor som likhetsvillkor. Göra om alla variabler till icke-negativa variabler. 12

17 Vi säger att ett LP-problem skrivet på detta sätt är uttryckt på standardform. Dessutom brukar man ofta formulera bivillkoren så att alla högerledskoefficienter är icke-negativa. För att göra om ett - villkor till ett likhetsvillkor måste vi addera en ny, icke-negativ, variabel som vi kallar för slackvariabel. Denna variabel uttrycker skillnaden mellan högerled och vänsterled och kan tolkas som ej utnyttjad högerledsresurs. Exempel: Om vi istället har så gör vi på motsvarande sätt, fast använder istället. Naturligtvis så måste även här. Om en variabel är definierad som icke-positiv i villkoren, exempelvis likhetstecknet, dvs. så vänder man på Simplex Två viktiga teoretiska begrepp att hålla koll på är baslösningar och basbyten. De förklaras nedan. Simplex söker systematiskt bland hörnpunkterna till det tillåtna LP-problemet. Vi måste därför kunna beskriva hörnpunkter på ett korrekt sätt. Vi gör detta med baslösningar till LP-problemets standardform. Definition av baslösning En baslösning till ekvationssystemet Ax = b erhålls om n-m variabler sätts till 0 och resterande variabler får de unika värden som erhålls då det kvarvarande (m x m) ekvationssystemet löses. De variabler som sätts till 0 kallas för icke-basvariabler och de resterande m variablerna kallas basvariabler. Definitionen av en baslösning uttrycker vad som krävs för att en lösning ska vara unik och hur många variabler som (minst) måste vara lika med 0 i en punkt för att denna ska kunna utgöra en hörnpunkt. Om baslösningen uppfyller alla icke-negativitetsvillkor har vi en tillåten baslösning, i annat fall har vi en otillåten baslösning. Varje tillåten baslösning motsvaras av en entydig hörnpunkt i det tillåtna området. Exempel 1 baslösning Antag att vi har ett två-dimensionellt problem (P) med 2 variabler, x 1 och x 2, och ett antal bivillkor som gör att vi lägger till slackvariablerna x 3, x 4 och x 5. Totalt har vi alltså 5 variabler. Vi kan välja en godtycklig punkt för vårt problem, t ex ( ) vilket innebär att alla variabler antar ett positivt värde; är ju punkten för x 1 och x 2 medan övriga variabler är slack. Punkten ligger inte på någon koordinataxel, eftersom x 1, x 2 > 0. Vi har inte heller någon punkt på randen av något bivillkor eftersom x 3, x 4, x 5 > 0. Inget villkor är aktivt och punkten är alltså en inre punkt. Punkten ( ) har en variabel med värde noll, vilket innebär att ett bivillkor är aktivt. Punkten är således en randpunkt, men ingen hörnpunkt. För att en punkt ska utgöra en hörnpunkt krävs att två variabler har värde noll, dvs varje hörnpunkt ligger i skärningen mellan två villkor. Alltså är ( ) en hörnpunkt. 13

18 För att veta hur många variabler som måste vara noll för en hörnpunkt kan vi utgå från n-m, dvs den frihetsgrad som finns i lösningsrummet; här är n = antalet variabler och m = antalet restriktioner (exklusive de icke-negativa) i systemet. För exemplet har vi således 2 variabler som måste vara noll, ty 5-3=2. Exempel 2 baslösning Antag ett problem (P) som på standardform (med likhetstecken) ser ut som följer. Som i exempel 1 har vi alltså två variabler, x 1 och x 2, och tre slackvariabler. Vi ska nu bestämma samtliga baslösningar till problemet. Eftersom vi har 5 variabler och 3 ekvationer i systemet behöver vi 5-3=2 variabler som ska sättas till noll för att få en baslösning. Totalt får vi 5 olika baslösningar. Icke-basvariabler Basvariabler Status x 1, x 2 (x 3, x 4, x 5 ) = (100, 80, 40) Tillåten hörnpunkt x 1, x 3 (x 2, x 4, x 5 ) = (100, -20, 40) Otillåten x 1, x 4 (x 2, x 3, x 5 ) = (80, 20, 40) Tillåten hörnpunkt x 1, x 5 Lösning saknas Existerar ej x 2, x 3 (x 1,x 4, x 5 ) = (50, 30, -10) Otillåten x 2, x 4 (x 1, x 3, x 5 ) = 80, -60, -40) Otillåten x 2, x 5 (x 1, x 3, x 4 ) = (40, 20, 40) Tillåten hörnpunkt x 3, x 4 (x 1, x 2, x 5 ) = (20, 60, 20) Tillåten hörnpunkt x 3, x 5 (x 1, x 2, x 4 ) = (40, 20, 20) Tillåten hörnpunkt x 4, x 5 (x 1, x 2, x 3 ) = (40, 40, -20) Otillåten Principer inom Simplex Basbyten En optimal lösning finns alltid i ett hörn (enligt linjärprogrammeringens fundamentalsats). Simplexmetoden söker den bästa lösningen genom att systematiskt flytta sig från en baslösning till en annan, på ett sådant sätt att målfunktionsvärdet förbättras. Vi kan inte söka alla hörn. Givet ett hörn, vill vi söka en närliggande hörnpunkt som har ett bättre målfunktionsvärde. Finns inte detta vet vi tack vare konvexitet att vi har en optimal punkt. Definition 1: Två hörnpunkter är närliggande om mängden aktiva bivillkor i de två punkterna endast skiljer sig i ett element. Definition 2: Två baslösningar är närliggande om de har m-1 stycken basvariabler gemensamt. 14

19 Vid basbyten gäller vidare att: Vid förflyttning mellan närliggande hörnpunkter (baslösningar) byter vi ut exakt en basvariabel. Nya basvariabeln kallas inkommande basvariabel, som ersätter den utgående basvariabeln. Vi kommer alltid att ha m basvariabler och n-m icke-basvariabler i varje baslösning. Vi arbetar normalt med två generella metoder vid Simplex: 1. En som utgår från en sökriktning d och steglängd t. 2. En som utgår från tablåräkning (youtube sök på simplex patrickjmt ) Tar inte upp dessa i närmare detalj här. 15

20 Föreläsning 6 Gurobi Tar endast upp programmering i Gurobi. Lösningar till vissa uppgifter ligger uppe på tentaplugg.nu. 16

21 Föreläsning 7 Artificiella problem Det finns vissa fall då vi måste konstruera ett artificiellt problem. Detta problem har samma optimala lösning som vårt verkliga problem, och vi gör följande modifikationer: 1. Introducera en icke-negativ variabel när vi har skrivit om till standardform. 2. Tilldela ett mycket stort negativt värde M i målfunktionen, dvs. lägg till. Att vi inför M, ett mycket stort tal, är för att vi vill förhindra att den artificiella variabeln blir en del av vår optimala lösning till det ursprungliga problemet. Genom att införa ett straff där M är mycket stort tvingas den artificiella variabeln att bli noll i en optimal lösning. Varför får vi ett articificellt problem? Simplex förutsätter att vi har en extrempunkt att börja med, exempelvis (0,0) som i figuren till vänster. Men antag att vi har annorlunda restriktioner som inte gör (0,0) till en möjlig lösning; se höger i figuren. När det är svårt att identifiera en första baslösning använder vi artificiella variabler. Hur vi lägger till När problemet (P) har skrivits om på allmän form är det första steget att introducera en ny, ickenegativ variabel. Hur ska man veta var variabeln ska läggas till? En tumregel är att: Variabeln ska läggas till där slackvariabeln har ett annat tecken (positivt eller negativt) än högerledet. Variabeln ska läggas till där det saknas en slackvariabel. 17

22 Exempel Betrakta följande problem (P): Skrivet på standardform med slackvariabler fås: Vi ser ingen uppenbar startpunkt, och lägger till artificiella variabler (steg 1). Vi lägger till detta utifrån tumregeln som beskrevs ovan. Notera att vi inför ekvationsnummer. (1) (2) (3) (4) (5) (6) (7) Steg 2 är att lägga till ett mycket stort tal M. Vi måste göra detta för målfunktionen i ekvation (1). Eftersom målfunktionen är skriven på standardform lägger vi till positiva M. (1) (2) (3) (4) 18

23 Vi måste bli av med från målfunktionen. För att göra detta multiplicerar vi ekvation (3) med M och gör motsvarande för ekvation (4); sedan lägger vi till dessa till målfunktionen. Då kommer att försvinna, vilket är precis vad vi vill. Alltså: Ekvation -M(3)+ (1) Ekvation -M(4) + (1) Vi får då målfunktionen till: Skrivet på tablåform: ( ) ( ) ( ) ( ) z x 1 x 2 x 3 x 4 s 1 s 2 r 1 r 2 b z 1-10-M -9-5M 4-3M -5-3M 0 M M s r r (5) (6) (7) Detta löses nu genom vanlig Simplex. Himla trevligt! 19

24 Föreläsning 8 Repetition Ingenting nytt, bara en genomgång av hur olika grupper har tänkt. 20

25 Föreläsning 9:1 - Heltalsmodeller Många problemställningar kan endast beskrivas med hjälp av modeller där heltalsvariabler ingår. Det kan t ex handla om hus, projektarbeten, anställda och andra variabler som inte kan anta fraktionella värden. Om samtliga variabler är heltalsvariabler har vi ett rent heltalsproblem. Om endast vissa variabler är heltalsvariabler kallas det ett blandat heltalsproblem: MIP mixed integer programming. Om alla variabler är 0/1-variabler har vi ett 0/1-problem: BIP binary integer problem. Om vi tar bort heltalskravet, exempelvis, får vi ett LP-problem som kallas LPrelaxationen av problemet. Det är viktigt att notera de väsentliga skillnaderna mellan heltalsproblemet och LP-relaxationen: Det tillåtna området i heltalsproblemet består av ett antal diskreta punkter och är således ett icke-konvext område. En optimallösning till ett LP-problem återfinns alltid i en hörnpunkt i det tillåtna området. I ett heltalsproblem är det däremot ovanligt att optimallösningen ligger i en hörnpunkt eller längs randen. Det finns i huvudsak två anledningar till att man behöver införa heltalsvariabler i en modell. 1. När är naturligt heltalig och det är orimligt att avrunda LP-relaxationens lösning. 2. När användning av logiska 0/1-variabler ger utökade modelleringsmöjligheter (exempelvis Ja/Nej-beslut, fasta kostnader, logiska villkor, då enbart vissa värden är tillåtna). Fabrik och lager The CALIFORNIA MANUFACTURING COMPANY is considering expansion by building a new factory in either Los Angeles or San Francisco, or perhaps even in both cities. It also is considering building at most one new warehouse, but the choice of location is restricted to a city where a new factory is being built. The net present value (total profitability considering the time value of money) of each of these alternatives is shown in the fourth column of the table below. The rightmost column gives the capital required (already included in the net present value) for the respective investments, where the total capital available is $10 million. The objective is to find the feasible combination of alternatives that maximizes the total net present value. Decision Yes-or-no Quest. Decision Net present value Capital required number variable 1 Build factory in LA? x 1 $9 million $6 million 2 Build factory in SF? x 2 $5 million $3 million 3 Build warehouse in LA? x 3 $6 million $5 million 4 Build warehouse in SF? x 4 $4 million $2 million 21

26 Variabeln som används är: { Modellen blir: För Vidare är beslut 3 och 4 betingade beslut, eftersom de är betingade av beslut 1 och 2 (företaget bygger ju enbart lager i en stad om det finns en fabrik där). Därför kräver vi att om, vilket också gäller för att om att måste. Vi kan skriva detta enligt: Sammantaget kan allt skrivas: Fasta kostnader Tillverkningen av en viss produkt A sker i en maskin där den direkta kostnaden är proportionell mot mängden som tillverkas. Vid start av tillverkningen krävs att maskinen ställs in och detta tar viss tid och kostnad i anspråk. Totalkostnaden för tillverkningen bestäms således av en fast kostnad f för att starta tillverkningen och rörlig kostnad för varje tillverkad enhet. Kostnaden är 0 om ingen tillverkning sker alls. Antag att x A betecknar antalet tillverkade enheter av produkt A. Den totala kostnaden z kan definieras som: { f Genom att införa en 0/1-variabel y kan vi beteckna det hela matematiskt. f 22

27 Här är M ett stort tal, är variabeln för antal produkter av A, och bestämmer om produktion ska ske, {0,1}. Villkoret styr så att y sätts till 1 så fort någon tillverkning av A sker. Dvs så fort kommer y att bli 1. Antingen eller Ibland kan vi ha problem där de tillåtna punkterna är definierade som att de antingen ska ligga i område 1 eller i område 2 (eventuellt båda). Exempel Vi har att välja mellan två olika begränsningar (ex.vis kan vi välja mellan två olika resurser). Lägg till en variabel M. Vilket kan formuleras som: ( ) Dvs för kommer antingen område (1) eller (2) att vara aktivt. Kappsäcksproblemet I många problem ska vi på bästa sätt välja ut ett antal objekt eller investeringar givet en eller flera resursbegränsningar. De enklaste av dessa kallas kappsäcksproblem, där vi endast har ett resursvillkor. Som ett litet exempel skulle man kunna tänka sig en inbrottstjuv (en avundsjuk maskinare?) som har med sig en säck som endast kan bära ett visst antal kilon b. Utifrån denna begränsning måste den avundsjuke maskinaren välja vilka objekt med värdet c j och resursåtgången a j som ska plockas med i säcken för att värdet av stölden z ska maximeras. För ett resursvillkor Definiera variablerna { 23

28 För parametrarna Generellt för ett 0/1-kappsäcksproblem fås då Ett alternativ är att istället för låter vi, heltal. För fler än ett resursvillkor Ibland finns det fler än ett resursvillkor. Vi kan använda samma variabler, men behöver omdefiniera koefficienterna för att hantera fler resurstyper (i = 1,..., m) enligt Vi behöver bara justera dessa koefficienter i modellen ovan, samt lägga till i = 1,..., m. Exempel med tre resursvillkor Företaget OptimalInvesteringar ska planera vilka byggnadsprojekt som ska genomföras under nästkommande år. Varje projekt kräver ett antal personer i projektledning och en given summa pengar. Information om de olika projekten ges i tabellen. Vissa projekt kan inte utföras tillsammans med andra och vissa projekt kräver att även andra projekt genomförs. Det finns en begränsad budget på 225 Mkr och det finns 28 personer tillgängliga. På grund av konkurrensrestriktioner får man genomföra högst 9 projekt. Nr. Objekt Värde (kkr) Budget (Mkr) Personal Ej med Kräver även 1 Ishall Sporthall Hotell Restaurang Kontor A Kontor B Skola Dagis Lager Simhall Hyreshus Bilverkstad

29 13 Tennishall Friidrottshall Båthamn Vi har tre resursvillkor; budget, personal samt antal projekt. Det finns två viktiga logiska villkor: förbjuder att de två projekten i och j utförs tillsammans. kräver att ett visst projekt i måste utföras för att ett projekt j ska kunna genomföras. Modellen kan formuleras som { Den optimala lösningen ges av övriga. Optimal vinst är och Tillordningsproblem Tillordningsproblem uppkommer i situationer där man vill koppla ihop (tillordna) objekt i en mängd med objekt i en annan mängd. Det kan t ex handla om att personer ska tilldelas uppdrag och där varje person kan utföra de olika uppdragen på olika tid eller till olika stor kostnad. Målet är att utföra alla uppdragen på kortaste tid eller till lägsta kostnad. Vi inför variablerna { 25

30 Och parametern Modellen kan då formuleras som Generaliserat tillordningsproblem I tillordningsproblemet ska ett antal uppdrag tillordnas lika många utförare. I många tillämpningar är dock antalet uppdrag större än antalet utförare och uppdrag måste därför fördelas bland utförarna. Ofta är antalet uppdrag som varje utförare kan ta begränsat. Problemet där vi inkluderar kapacitetsbegränsningar hos utförarna kallas generaliserat tillordningsproblem. Skillnaden mot ett vanligt tillordningsproblem är att varje källa (t ex maskiner) har en given tillgång eller kapacitet, och att varje sänka (t ex jobb) ska tillordnas en källa men varje källa kan kopplas till flera sänkor. Exempel Vi har n jobb som ska utföras på m maskiner. Varje jobb kräver en viss tid på respektive maskin och varje maskin har en given kapacitet. Det finns sedan en kostnad för att koppla ihop ett jobb med en maskin och den totala kostnaden ska minimeras. Matematiskt Vi inför variablerna { Och parametrarna 26

31 Modellen kan då formuleras som Notera skillnaden (tidigare =1) och koefficienten. Sekvensieringsproblem Ett typiskt planeringsjobb i en verkstad är att bestämma sekvensen av ett antal jobb i en maskin. I dessa sekvensieringsproblem har varje jobb en given processtid och det kan också ha en önskad färdigtid. Ofta är det inte möjligt att processa jobben innan den önskade färdigtiden och för att kunna prioritera jobben ges en viktningsfaktor för varje jobb. För att bestämma en bra sekvens brukar man sedan försöka hitta en sekvens av jobb som minimerar den viktade försening med avseende på färdigtider och viktningsfaktorer. Exempel Antag att vi har ett problem med följande data Jobb Processtid Önskad färdigtid Viktning Eftersom alla jobb ska utföras vet vi att sista jobbet blir klart vid tidpunkten = 23. Om vi utför jobben i ordningen blir jobb 1 klar i tid, jobb 2 klar vid tidpunkt 10 (försenad med 6), jobb 3 klar vid tidpunkt 15 (försenad med 3) och jobb 4 klar vid tidpunkt 23 (försenad 7). Eftersom jobb 3 och 4 har högre prioritet kommer den viktade förseningen att bli 1x0 + 1x6 + 2x3 + 2x7 = 26. Om vi placerar jobben i ordningen får vi en viktad försening på 30. Variabler { 27

32 Parametrar p i = processtid för jobb i, i = 1,...,n d i = önskad färdigtid för jobb i, i = 1,...n w i = viktning för jobb i, i = 1,...,n Modellformuleringen blir ( ) ( ) 28

33 Föreläsning 9:2 Nätverksplanering Många optimeringsproblem har en struktur som gör att de naturligt kan beskrivas med hjälp av nätverk uppbyggt av noder och bågar. Problem som har en underliggande nätverksstruktur kallas för nätverksproblem, och i de flesta problemställningar finns ett krav på att ett visst flöde ska skickas i nätverket och vi talar då om ett flödesproblem. Exempel på noder, bågar och flöden Grundläggande begrepp En graf G = (N, B) består av en mängd noder N = {n 1, n 2,...} och en mängd bågar B = {b 1, b 2,...}, samt en avbildning (relation) mellan noderna och bågarna. Om man tilldelar noderna och bågarna numeriska värden som representerar flödsstyrkor, kostnader, kapaciteter etc. så brukar man säga att man har ett nätverk. En riktad båge tillåter endast flöde i sin angivna riktning. En oriktad båge tillåter flöde i båda riktningar som kan tolkas som två (motriktade) riktade bågar. Om alla bågar i grafen är oriktade talar vi om en oriktad graf, annars har vi en riktad graf. En oriktad båge kallas även för länk. Relationerna mellan noder och bågar kan beskrivas med en s k båglista enligt t ex b 1 = {n 1, n 2 } som i den oriktade grafen anger vilka noder varje båge ansluter till. Billigaste uppspännande träd I en graf med n noder utgör ett träd med n-1 bågar ett uppspännande träd. Flödesproblem Definieras genom att för varje nod n i specificera hur stort nettoflödet är till/från noden. Variablerna i ett flödesproblem definieras som Och nettoflödet (även kallat nodstyrkan) definieras som ( ) ( ) 29

34 Om d i är negativ säger vi att n i är en källa och om d i är positiv säger vi att n i är en sänka. Noder där d i = 0 kallas för mellannoder. Billigaste uppspännande träd Antag att vi har en oriktad graf G = (N, B) med n noder och m bågar där c ij är bågkostnaden för båge (i, j). Vi kan då beskriva ett billigast uppspännande träd enligt: Definition Välj ut en delmängd av bågarna i grafen så att de tillsammans utgör ett träd som spänner upp alla noder, och där summan av bågkostnaderna är minimal. Det kan sammanfattas i tre steg enligt: 1. Du får noderna till nätverket men inte länkarna (oriktad båge). Istället får du potentiella länkar och längden (alternativt kostnad eller tid) för vardera länk om de skulle användas i nätverket. 2. Du vill nu designa nätverket genom att sätta in tillräckligt många länkar för att satisfiera kravet att det är en väg för varje par av noder. 3. Målet är att satisfiera kravet på ett sätt som minimerar längden av länkarna. Optimalitetsvillkor Vid design av algoritmer för billigaste uppspännande träd utnyttjar man egenskaperna hos träd: Det finns en unik väg (kedja) mellan varje par av noder. Trädet sönderfaller i två delar om exakt en båge tas bort. Låt T beteckna bågarna ingående i ett uppspännande träd och låt beteckna de övriga bågarna i nätverket. Optimalitetsvillkoret kan då formuleras som att ett träd T är ett billigaste uppspännande träd om det: För varje båge ( ) gäller att för alla bågar (k,l) som ingår i den unika vägen mellan i och j. För varje båge ( ) gäller att för alla bågar (k,l) som går i det snitt [ ] som uppstår om båge (i,j) tas bort. Prims algoritm Billigaste uppspännande träd är tacksamt nog en av få problem där man kan vara girig (på engelska talar man om greedy algorithm ) och bara behöver bry sig om vad som är bäst väg att gå för att minimera trädet. Steg 0: Utgå från en godtycklig nod och låt den noden utgöra mängden S, övriga noder ingår i mängden. Låt. Steg 1: Bestäm den båge (j,k) som till lägsta kostnad (eller vad det nu är) sammanbinder en nod och en nod. Steg 2: Uppdatera mängden T enligt ( ) och. 30

35 Steg 3: Avbryt om T =n-1. Annars, gå till steg 1. Utveckling av steg 3 Antag att vi har ett träd som spänner mellan O-A-B-C-E-D-T. Det ger oss 7 noder och 6 kopplingar, dvs. vi har n-1, eller mer specifikt T =n-1 som enligt prims algoritm betyder att vi ska stanna. Allt eftersom vi löser För varje nod vi lägger till kan vi uppdatera genom följande skrivsätt. Och så vidare. Exempel Målet är att finna ett träd som omfattar hörnen A G där trädets kanter har så låg sammanlagd kostnad som möjligt. Algoritmen börjar vid hörn D. Från hörn D finns 4 kanter (till hörnen A, B, E och F). Kanten DA till hörn A har lägst pris och läggs därför till i trädet. Nästa hörn att anslutas är det som har billigast kant till antingen hörn D eller A. Möjliga kanter är AB, DB, DE, DF. Kostnaden för kanten DF är billigast, så den läggs till. 31

36 Hörn B ansluts via A. Kanten BD kommer inte att ingå i trädet, eftersom B och D redan är förbundna indirekt. E ansluts via B. C ansluts via E. 32

37 G ansluts via E. Det finns inga fler hörn att ansluta. Trädet är fullständigt. Billigaste vägen-problemet Här vill vi bestämma en billigaste väg från nod n s till nod n t i ett nätverk. Vi har följande egenskaper: Endast riktade bågar förekommer. Nod n t är uppnåelig från nod n s. Algoritm Inga cykler med negativ kostnad förekommer. Minflödesproblem I ett minkostnadsflödesproblem ska vi bestämma ett flöde med minimal kostnad i ett givet nätverk, där angivna styrkor på noderna i nätverket måste tillgodoses samtidigt som vi också måste uppfylla givna kapacitetsvillkor på bågarna. Variabel Parametrar 33

38 Värdet på b i beror på vilken typ av nod i är: Modellen blir då Maxflödesproblem Vi har m noder och n bågar. Sök max flöde från start till mål. Vi söker ett maximalt flöde f från nod n s till nod n t. Kan uttryckas som: f { f f Går även att formulera enligt: f f ( ) 34

39 Föreläsning 10 Känslighetsanalys Den lösning vi kallar optimal i ett LP-problem är förstås endast optimal i förhållande till de indata (parametrar) som definierar det givna problemet. I många praktiska problemställningar råder det osäkerhet om det rätta värdet på vissa parametrar; exempelvis kan det gälla kostnader, priser, kapaciteter, resursåtgång, efterfrågan etc. Av den anledningen är det viktigt att analysera optimallösningen till ett LP-problem i syfte att avgöra hur känslig lösningen är för förändringar i indata och andra förutsättningar, dvs. att kunna analysera hur robust lösningen är. Relevanta förändringar Förändring av en målfunktionskoeffeicient c j. Förändring av en högerledskoeffiecient b i. Förändring av en bivillkorskoefficient a ij. Lägga till eller ta bort ett bivillkor. Lägga till eller ta bort en variabel. Relevanta frågeställningar utifrån vissa förändringar Hur påverkas det optimala målfunktionsvärdet av förändringen? Ökning, minskning? Hur stor är förändringen? Är nuvarande lösning fortfarande optimal efter förändringen? Fortfarande tillåten? Vid hur stor förändringen kommer en annan baslösning att vara optimal? Vid hur stor förändring är nuvarande baslösning ej längre tillåten? Relaxation och restriktion Två viktiga begrepp: Relaxation: en förändring av ett problem som innebär att det tillåtna området blir större (får fler tillåtna lösningar) alternativt blir oförändrat. Om ett problem relaxeras kommer det optimala målfunktionsvärdet att bli bättre (eller oförändrat). I ett maxproblem kommer alltså målfunktionsvärdet att öka och i ett minproblem kommer målfunktionsvärdet att minska. Alla tillåtna punkter i det ursprungliga problemet är ju tillåtna även i det relaxerade problemet, så målfunktionsvärdet kan aldrig bli sämre. Restriktion: en förändring av ett problem som innebär att det tillåtna området blir mindre (får färre tillåtna lösningar) alternativt blir oförändrat. Vid en restriktion kommer det optimala målfunktionsvärdet att bli sämre (eller vara oförändrat). I ett maxproblem kommer alltså målfunktionsvärdet att minska och i ett minproblem kommer målfunktionsvärdet att öka. 35

40 Förändringar av värden Högerledskoeffieicent Bivillkorstyp Ökning av b i Minskning av b i Relaxation Restriktion Restriktion Relaxation Bivillkorskoefficient Bivillkorstyp Ökning av a ij Minskning av a ij Restriktion Relaxation Relaxation Restriktion Målfunktionskoefficient En förändring i målfunktionskoefficienten påverkar uppenbart det optimala målfunktionsvärdet. Om värdet på koefficienten ökar kommer också målfunktionsvärdet att öka (eller vara oförändrat). Om värdet på koefficienten minskar kommer också målfunktionsvärdet att minska (eller vara oförändrat). Problemtyp Ökning av c ij Minskning av c ij Maxproblem z* oförändrad eller högre z* oförändrad eller lägre Minproblem z* oförändrad eller högre z* oförändrad eller lägre Addera eller ta bort ett bivillkor Att addera ett bivillkor kan innebära att vi ytterligare begränsar det tillåtna området. Vi får en restriktion. Tar vi bort ett bivillkor får vi motsvarande en relaxation. Addera eller ta bort en variabel Att addera en variabel leder till fler frihetsgrader och fler lösningar, dvs. en relaxation och z blir bättre. Att ta bort en variabel kan tolkas som att vi inför ett nytt bivillkor som begränsar denna variabel till noll. Alltså får vi en restriktion och målfunktionsvärdet kommer att försämras alternativt vara oförändrat (om variabeln redan hade värdet noll). Skuggpriser Det är även av intresse att veta hur stor effekten av en viss förändring blir. Skuggpriset för ett bivillkor ges av förändringen av det optimala målfunktionsvärdet vid en marginell ökning av högerledet. Dualpris, dualvärde eller marginalpris är andra benämningar på skuggpriset. 36

41 Följande gäller: Till varje LP-problem kan vi definiera ett dualt problem med exakt samma indata som vårt ursprungliga (primala) problem. I det duala problemet finns en dualvariabel v i för varje bivillkor i, i det ursprungliga problemet. Skuggpriset för bivillkoret är det optimala värdet på denna dualvariabel. Teckenkrav på dualvariabeln Varje dualvariabel har en teckenbegränsning och den ges direkt från insikten om huruvida en ökning av högerledet ger en relaxation eller restriktion av det tillåtna området. Primalt problem Minproblem Maxproblem Med fri menas att om vi har ett likhetsvillkor går det inte med säkerhet att förutsäga hur målfunktionen påverkas och därmed vilket tecken motsvarande dualvariabel kommer att ha. Tolkning av värdet Samt Det optimala värdet på dualvariabeln kan tolkas som den marginella förändringen av målfunktionsvärdet vid en förändring av högerledet. Skuggpriset är en derivata: Skuggpriset uttrycker värdet av att få tillgång till ytterligare en enhet av denna resurs (dvs. marginalpriset). o Antag att vi har ett problem där vi vill maximera en vinst vid tillverkning av ett antal olika produkter, och vi har ett som uttrycker den begränsade tillgången på en viss resurs. Då kommer motsvarande skuggpris att uttrycka värdet av att få tillgång till ytterligare en enhet av resursen. Vi kan jämföra priset/kostnaden för att köpa denna resursenhet med värdet av att kunna använda den i produktion och därmed avgöra om det är lönsamt att köpa mer av resursen. o Vi kanske också har ett som uttrycker ett krav att tillverka minst ett visst antal av en produkt. Motsvarande skuggpris kommer då att indikera den minskade intäkt som en marginell ökning av tillverkningen av den produkten ger upphov till, när hänsyn tagits till en eventuella förändrad tillverkning av övriga produkter. Observera att skuggpriset bara är giltigt inom ett visst intervall. En förändring av ett bivillkors koefficient (höger- eller vänsterled) som leder till att målfunktionens värde förbättras, påverkar allt mindre ju större förändring som görs. En förändring av ett bivillkors koefficient (höger- eller vänsterled) som leder till att målfunktionens värde försämras, påverkar allt mer ju större förändring som görs. 37

42 Tolkning av utdata Här kommer en fantastiskt trevlig sammanställning. Vi har följande problem Efterfrågan på två produkter: Balk: 1000 st Reglar: 1100 st Två sorters stock: A och B Kan sågas med två olika postningsmönster: 1 och 2 Själva uppställningen av problemet är mindre intressant i detta fall. Utdatafilen ger Målfunktionens värde: Variabel/kolumn Värde/aktivitet Reducerad kostnad XA XA XB XB Bivillkor/rad Värde/aktivitet Reducerad kostnad Tillgång på A-stockar Tillgång på B-stockar Efterfrågan på balkar Efterfrågan på reglar Intervall för målfunktionskoefficienter Variabel/kolumn Koefficient Undre och övre gräns XA ; XA ; XB ; XB ; 1E+20 Intervall för högerledskoefficienter Bivillkor/rad Högerled Undre och övre gräns Tillgång på A-stockar ; Tillgång på B-stockar ; 1E+20 Efterfrågan på balkar ; Efterfrågan på reglar ;

43 Exempel på analyser av känslighet i lösningen 1. Hur stor blir kostnaden om det blir 30 kr billigare att såga en A-stock med mönster 2? Om det blir 30 kr dyrare? a. Om koefficienten minskar från 340 till 310 kommer de optimala värdena på variablerna att förbli samma (samma baslösning), då förändringen är i intervallet [140,350]. Målfunktionsvärdet förbättras med 30*25. b. Om den ökar till 370 ligger detta utanför intervallet där nuvarande baslösning gäller. 2. I nuvarande optimallösning sågar vi inga B-stockar med mönster 2. Vid vilken sågningskostnad blir detta alternativ lönsamt? a. Reducerande kostnaden för variabeln. Innebär att om sågningskostnden minskar med minst detta belopp kommer denna variabel att ingå i baslösningen. 3. Hur påverkas totalkostnaden om tillgången på A-stockar minskar med 10 respektive ökar med 100 stycken? a. Skuggpriset för villkoret tillgång på A-stockar är -50, gäller inom intervallet [187.5, 262.5]. b. Minskning med 10 st => ökning av kostnaden med 10*50. c. Ökning med 100 ligger utanför intervallet. Upp till är skuggpriset konstant och minskningen blir då 62.5*50, bortanför vet vi ej. 4. Vad händer om tillgången på B-stockar minskar med 15 st? a. Inget, ty skuggpriset = Hur påverkas den totala kostnaden om efterfrågan ökar eller minskar med 200 st? a. Skuggpriset för bivillkoret är 45 inom intervallet [500,1100]. b. En minskning med 200 leder till minskade kostnader med 200*45. c. En ökning med 200 leder till minst en kostnadsökning om 200*45. 39

44 Föreläsning 11 Dualitet Till varje LP-problem kan man formulera ett dualt problem som är definierat med samma indata som det ursprungliga primala problemet. Tolkning av det duala problemet Antag följande Uppskattning av z* Antag att vi vill finna en övre uppskattning av det optimala målfunktionsvärdet z*, dvs att vi med säkerhet vill kunna säga att z* aldrig kan bli större än detta värde. Exempelvis kan vi multiplicera bivillkor (1) med 3 så får vi olikheten. Eftersom dessa koefficienter är större än de framför målfunktionen så vet vi att målfunktionen aldrig kan bli större än. Vi kan även kombinera bivillkoren, exempelvis 0.7x(bivillkor 1) + 1x(bivillkor 2) ger. Istället för att gissa hur vi kan kombinera våra bivillkor för att få en bra uppskattning kan vi formulera ett LP-problem som bestämmer hur vi ska kombinera bivillkoren för att få fram bästa möjliga övre uppskattning. Vi definiererar följande variabler: Uppskattningens värde ges av funktionen f ( ) f ( ) Vi vill minimera funktionen för att få bästa (lägsta möjliga) uppskattning. Samtidigt måste vi se till att koefficienterna för respektive variabel i den konstruerade olikheten sammanfaller med eller är större än målfunktionens koefficienter, annars kan vi inte använda olikheten för att dra några slutsatser om z*. Vi kräver att vikterna och är sådana att Vi får då LP-problemet 40

45 Vilket är det duala problemet. Formulering av det duala problemet Det finns starka samband mellan det primala och det duala problemet. Till varje primalt villkor i hör alltid en dual variabel v i. Till varje primal variabel x j hör ett dualt villkor j. Målfunktionskoefficienterna i det ena problemet utgör högerledskoefficienterna i det andra problemet och vice versa. Om det ena problemet är ett minproblem så är det andra ett maxproblem. Vid formulering av det duala problemet till ett givet LP-problem kan man utnyttja begreppet normalform. Primalt problem då Dualt problem då Egenskaper n variabler m bivillkor maxproblem bivillkorsmatris A målfunktionsvektor c högerledsvektor b Egenskaper m variabler n bivillkor minproblem bivillkorsmatris A T målfunktionsvektor b högerledsvektor c En variabel anses ha normalform om den är definierad som icke-negativ ( 0). Ett villkor anses ha normalform om det är ett i ett maxproblem respektive i ett minproblem. Primalt problem Minproblem Maxproblem Exempel Formulera dualen till problemet f 41

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

Speciell användning av heltalsvariabler. Heltalsprogrammering. Antingen-eller-villkor: Exempel. Speciell användning av heltalsvariabler Heltalsprogrammering Speciell användning av heltalsvariabler max z = då c j x j j= a ij x j b i j= x j 0 x j heltal i =,..., m j =,..., n j =,..., n ofta x j u j j =,..., n Oftast c, A, b heltal. Ibland

Läs mer

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.

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. TNSL05 (10) (5p) Uppgift 1 Företaget XAJA tillverkar två olika sorters rengöringsprodukter för fönsterputsning, benämnda F1 och F. Förutom vatten, som ingår i båda produkterna är, innehållet ett antal

Läs mer

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

TNSL05 Optimering, Modellering och Planering. Föreläsning 4 TNSL05 Optimering, Modellering och Planering Föreläsning 4 2018-11-14 2 Kursmål: idag Studenten ska efter avslutad kurs kunna: Analysera och formulera optimeringsmodeller inom ekonomiska tillämpningsområden

Läs mer

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:

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: Heltalsprogrammering Speciell användning av heltalsvariabler max z = då n c j x j j= n a ij x j b i j= x j 0 x j heltal i =,..., m j =,..., n j =,..., n ofta x j u j j =,..., n Oftast c, A, b heltal. Ibland

Läs mer

TNK049 Optimeringslära

TNK049 Optimeringslära TNK09 Optimeringslära Clas Rydergren ITN Föreläsning Simplemetoden på tablåform och algebraisk form Fas I (startlösning) Känslighetsanalys Tolkning av utdata Agenda Halvtidsutvärdering Simplemetoden (kap..8)

Läs mer

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:

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: Heltalsprogrammering Speciell användning av heltalsvariabler max z = då c j x j a ij x j b i x j 0 x j heltal i =,..., m j =,..., n j =,..., n ofta x j u j j =,..., n Oftast c, A, b heltal. Ibland u j

Läs mer

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.

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. TNSL05 2(8) (5p) Uppgift 1 Företaget XAJA tillverkar två olika sorters rengöringsprodukter för fönsterputsning, benämnda F1 och F2. Förutom vatten, som ingår i båda produkterna är, innehållet ett antal

Läs mer

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

Linjärprogramming. EG2205 Föreläsning 7, vårterminen 2015 Mikael Amelin Linjärprogramming EG2205 Föreläsning 7, vårterminen 2015 Mikael Amelin 1 Kursmål Formulera korttidsplaneringsproblem för vatten- och värmekraftsystem. 2 Tillämpad matematisk programming Korttidsplanering

Läs mer

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

Flöde i nätverk. Flöde i nätverk. Specialfall av minkostnadsflödesproblemet Flöde i nätverk Graf: G = (N, B) Variabeldefinition: x ij = flöde i båge (i, j). Bågdata för båge (i, j): c ij : flödeskostnad per enhet. u ij : övre gräns för flödet. l ij : undre gräns för flödet. Bivillkor:

Läs mer

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

LP-problem. Vårt första exempel. Baslösningar representerar extrempunkter. Baslösningar representerar extrempunkter LP-problem Vårt första exempel Ett LP-problem: max z = c T x då Ax b, x 0. Den tillåtna mängden är en polyeder och konvex. Målfunktionen är linjär och konvex. Så problemet är konvext. Var ligger optimum?

Läs mer

Linjärprogrammering (Kap 3,4 och 5)

Linjärprogrammering (Kap 3,4 och 5) Linjärprogrammering (Kap 3,4 och 5) Fredrik Olsson, fredrik.olsson@iml.lth.se Avdelningen för produktionsekonomi Lunds tekniska högskola, Lunds universitet 16 september 2015 Dessa sidor innehåller kortfattade

Läs mer

Tentamensinstruktioner

Tentamensinstruktioner TNSL05 1(9) TENTAMEN Datum: 6 april 2018 Tid: 14-18 Provkod: TEN1 Kursnamn: TNSL05 Optimering, modellering och planering Institution: ITN Antal uppgifter: 5 Betygskrav: För godkänt krävs normalt 12 p,

Läs mer

Optimeringslära Kaj Holmberg

Optimeringslära Kaj Holmberg Tekniska Högskolan i Linköping Optimering för ingenjörer Matematiska Institutionen Lösning till tentamen Optimeringslära 26-6- Kaj Holmberg Lösningar Uppgift Hinkpackning (hink = tur med cykeln. Jag använder

Läs mer

1 LP-problem på standardform och Simplexmetoden

1 LP-problem på standardform och Simplexmetoden Krister Svanberg, mars 202 LP-problem på standardform och Simplexmetoden I detta avsnitt utgår vi från LP-formuleringen (2.2) från föreläsning. Denna form är den bäst lämpade för en strömlinjeformad implementering

Läs mer

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

TENTAMEN. Tentamensinstruktioner. Datum: 30 augusti 2018 Tid: 8-12 1( 9) TENTAMEN Datum: 30 augusti 2018 Tid: 8-12 Provkod: TEN1 Kursnamn: Optimering, modellering och planering Institution: ITN Antal uppgifter: 5 Betygskrav: För godkänt krävs normalt 12 p, betyg kräver

Läs mer

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

Flöde i nätverk. Flöde i nätverk. Specialfall av minkostnadsflödesproblemet Flöde i nätverk Graf: G = (N, B) Variabeldefinition: x ij = flöde i båge (i, j). Bågdata för båge (i, j): c ij : flödeskostnad per enhet. u ij : övre gräns för flödet. l ij : undre gräns för flödet. Bivillkor:

Läs mer

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

Lösningar till 5B1762 Optimeringslära för T, 24/5-07 Lösningar till 5B76 Optimeringslära för T, 4/5-7 Uppgift (a) Först använder vi Gauss Jordans metod på den givna matrisen A = Addition av gånger första raden till andra raden ger till resultat matrisen

Läs mer

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

1(8) x ijt = antal mobiltelefoner av typ i=1,,m, Som produceras på produktionslina 1,, n, Under vecka t=1,,t. 1(8) (5p) Uppgift 1 Företaget KONIA tillverkar mobiltelefoner I en stor fabrik med flera parallella produktionslinor. För att planera produktionen de kommande T veckorna har KONIA definierat följande icke-negativa

Läs mer

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

Lösningar till SF1861 Optimeringslära, 28 maj 2012 Lösningar till SF86 Optimeringslära, 28 maj 202 Uppgift.(a) Då det primala problemet P är så är det motsvarande duala problemet D minimera 3x + x 2 då 3x + 2x 2 6 x + 2x 2 4 x j 0, j =, 2. maximera 6 +

Läs mer

1 Minkostnadsflödesproblem i nätverk

1 Minkostnadsflödesproblem i nätverk Krister Svanberg, april 2012 1 Minkostnadsflödesproblem i nätverk Ett nätverk består av en given mängd noder numrerade från 1 till m (där m är antalet noder) samt en given mängd riktade bågar mellan vissa

Läs mer

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

TAOP07/TEN1 OPTIMERINGSLÄRA GRUNDKURS för Y. Antal uppgifter: 7 Uppgifterna är inte ordnade efter svårighetsgrad. Matematiska institutionen Optimeringslära TENTAMEN TAOP07/TEN1 OPTIMERINGSLÄRA GRUNDKURS för Y Datum: 27 augusti 2013 Tid: 14-19 Hjälpmedel: Inga Antal uppgifter: 7 Uppgifterna är inte ordnade efter svårighetsgrad.

Läs mer

Laboration 1 - Simplexmetoden och Modellformulering

Laboration 1 - Simplexmetoden och Modellformulering Linköpings universitet Optimeringslära grundkurs för Y Matematiska institutionen Laboration 1 Optimeringslära 30 januari 2013 Laboration 1 - Simplexmetoden och Modellformulering Den första delen av laborationen

Läs mer

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

TNSL05 Optimering, Modellering och Planering. Föreläsning 9 TNSL05 Optimering, Modellering och Planering Föreläsning 9 Agenda Kursens status Dualitet Billigaste väg problem 208-2- Kursens status Föreläsning (), 2-5: Modellering Föreläsning 6-0, () Lösningsmetod/känslighetsanalys

Läs mer

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

LP-dualitet: Exempel. Vårt första exempel. LP-dualitet: Relationer. LP-dualitet: Generellt Vårt första exempel Variabeldefinition: x 1 = antal enheter Optimus som görs varje timme. x 2 = antal enheter Rullmus som görs varje timme. Matematisk modell: max z = 4x 1 + 3x 2 då 2x 1 + 3x 2 30 (1)

Läs mer

Optimeringslära Kaj Holmberg

Optimeringslära Kaj Holmberg Tekniska Högskolan i Linköping Optimering för ingenjörer Matematiska Institutionen Lösning till tentamen Optimeringslära 2018-08-31 Kaj Holmberg Lösningar Uppgift 1 1a: Inför slackvariabler x 5, x 6 och

Läs mer

Tentamensinstruktioner

Tentamensinstruktioner TNSL05 1(8) TENTAMEN Datum: 1 april 2016 Tid: XXX Sal: XXX Provkod: TEN1 Kursnamn: TNSL05 Optimering, modellering och planering Institution: ITN Antal uppgifter: 5 Betygskrav: För godkänt krävs normalt

Läs mer

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

Föreläsning 2: Simplexmetoden. 1. Repetition av geometriska simplexmetoden. 2. Linjärprogrammeringsproblem på standardform. Föreläsning 2: Simplexmetoden. Repetition av geometriska simplexmetoden. 2. Linjärprogrammeringsproblem på standardform. 3. Simplexalgoritmen. 4. Hur bestämmer man tillåtna startbaslösningar? Föreläsning

Läs mer

Optimeringslära Kaj Holmberg

Optimeringslära Kaj Holmberg Tekniska Högskolan i Linköping TAOP88 Matematiska Institutionen Lösning till tentamen Optimeringslära 9--7 Kaj Holmberg Lösningar Uppgift a: Inför slackvariabler x 5, x 6 och x 7 Starta med slackvariablerna

Läs mer

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

TNSL05 Optimering, Modellering och Planering. Föreläsning 6 TNSL05 Optimering, Modellering och Planering Föreläsning 6 Agenda Kursens status Tolkning av utdata Intro lösningsmetoder Linjära optimeringsproblem (LP) på standardform Algebraisk formulering av LP Konveitet

Läs mer

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

Flöde i nätverk. Flöde i nätverk. Specialfall av minkostnadsflödesproblemet. Specialfall av minkostnadsflödesproblemet. Slutsats. Flöde i nätverk Graf: G = (N, B) Variabeldefinition: x ij = flöde i båge (i, j). Bågdata för båge (i, j): c ij : flödeskostnad per enhet. u ij : övre gräns för flödet. l ij : undre gräns för flödet. Bivillkor:

Läs mer

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

Vårt första exempel. LP-dualitet: Exempel. LP-dualitet: Generellt. LP-dualitet: Relationer Vårt första exempel Variabeldefinition: x 1 = antal enheter Optimus som görs varje timme. x 2 = antal enheter Rullmus som görs varje timme. Matematisk modell: max z = 4x 1 + 3x 2 då 2x 1 + 3x 2 30 (1)

Läs mer

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

Föreläsning 10/11! Gruppuppgifter: Gruppuppgift 1: Alla har redovisat. Gruppuppgift 2: Alla har redovisat Gruppuppgift 3: På gång. Föreläsning 10 Agenda Kursens status Repetition Flödesnätverk Optimalitetsvillkor LP och Minkostandsflöde (MKF) Nätverkssimplex Känslighetsanalys Exempel: MKF och Nätverkssimplex Föreläsning 10/11! Gruppuppgifter:

Läs mer

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

TNSL05 Optimering, Modellering och Planering. Föreläsning 10 TNSL05 Optimering, Modellering och Planering Föreläsning 10 Agenda Kursens status Repetition Flödesnätverk Optimalitetsvillkor LP och Minkostandsflöde (MKF) Nätverkssimplex Känslighetsanalys Exempel: MKF

Läs mer

TNK049 Optimeringslära

TNK049 Optimeringslära TNK049 Optimeringslära Clas Rydergren, ITN Föreläsning 6 Det duala problemet Relationer primal dual Optimalitetsvillkor Nätverksoptimering (introduktion) Agenda Motivering av det duala problemet (kap 6.)

Läs mer

1 Duala problem vid linjär optimering

1 Duala problem vid linjär optimering Krister Svanberg, april 2012 1 Duala problem vid linjär optimering Detta kapitel handlar om två centrala teoretiska resultat för LP, nämligen dualitetssatsen och komplementaritetssatsen. Först måste vi

Läs mer

TAOP14: Optimeringslära SAMMANFATTNING OSKAR QVIST:

TAOP14: Optimeringslära SAMMANFATTNING OSKAR QVIST: 2015 TAOP14: Optimeringslära SAMMANFATTNING OSKAR QVIST: OSKQV953@STUDENT.LIU.SE Innehållsförteckning Allmänt... 2 Om optimering... 3 Matematiska formuleringar av optimeringsproblem... 3 Linjärprogrammering

Läs mer

Optimeringslära Kaj Holmberg

Optimeringslära Kaj Holmberg Tekniska Högskolan i Linköping TAOP88 Matematiska Institutionen Lösning till tentamen Optimeringslära 28--24 Kaj Holmberg Uppgift Lösningar a: Målfunktionen är summan av konvexa funktioner (kvadrater och

Läs mer

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER Matematiska institutionen Optimeringslära TENTAMEN TAOP/TEN OPTIMERING FÖR INGENJÖRER Datum: januari 0 Tid:.00-.00 Hjälpmedel: Miniräknare Kurslitteratur: Kaj Holmberg: Optimering Anteckningar i boken

Läs mer

Tentamensinstruktioner. När Du löser uppgifterna

Tentamensinstruktioner. När Du löser uppgifterna Matematiska institutionen Optimeringslära TENTAMEN TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER för M/EMM Datum: 8 januari 201 Tid: 8.00-13.00 Hjälpmedel: Miniräknare Kurslitteratur: Kaj Holmberg: Optimering

Läs mer

Optimeringslära Kaj Holmberg

Optimeringslära Kaj Holmberg Tekniska Högskolan i Linköping Optimering för ingenjörer Matematiska Institutionen Lösning till tentamen Optimeringslära 28-5-3 Kaj Holmberg Lösningar Uppgift a: P: Grafisk lösning ger x = 2/7 = 2 6/7,

Läs mer

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

Examinator: Torbjörn Larsson Jourhavande lärare: Torbjörn Larsson, tel Tentamensinstruktioner. När Du löser uppgifterna Matematiska institutionen Optimeringslära TENTAMEN TAOP07/TEN1 OPTIMERINGSLÄRA GRUNDKURS för Y Datum: 21 augusti 2012 Tid: 14-19 Hjälpmedel: Inga Antal uppgifter: 7 Uppgifterna är inte ordnade efter svårighetsgrad.

Läs mer

Tentamensinstruktioner

Tentamensinstruktioner TNSL05 1(9) TENTAMEN Datum: augusti 017 Tid: 8-1 Provkod: TEN1 Kursnamn: TNSL05 Optimering, modellering och planering Institution: ITN Antal uppgifter: 5 Betygskrav: För godkänt krävs normalt 1 p, betyg

Läs mer

Olinjär optimering med bivillkor: KKT min f (x) då g i (x) 0 för alla i

Olinjär optimering med bivillkor: KKT min f (x) då g i (x) 0 för alla i Olinjär optimering med bivillkor min då f (x) g i (x) 0 för alla i Specialfall: Konvext problem. Linjära bivillkor: Ax b. Linjära likhetsbivillkor: Ax = b. Inga bivillkor: Hanterat tidigare. Metodprinciper:

Läs mer

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

TNSL05 Optimering, Modellering och Planering. Föreläsning 5 TNSL5 Optimering, Modellering och Planering Föreläsning 5 Dagordning Kort repetition Graf/nätverk: Begrepp Representation Exempel: Minkostnadsflödeproblem Billigastevägproblem 28--5 4 Hittills Föreläsning

Läs mer

De optimeringsproblem som kommer att behandlas i denna kurs kan alla (i princip) skrivas. 1 2 xt Hx + c T x. minimera

De optimeringsproblem som kommer att behandlas i denna kurs kan alla (i princip) skrivas. 1 2 xt Hx + c T x. minimera Krister Svanberg, mars 2012 1 Introduktion De optimeringsproblem som kommer att behandlas i denna kurs kan alla (i princip) skrivas på följande allmänna form: f(x) (1.1) x F, där x = (x 1,..., x n ) T

Läs mer

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

TAOP33/TEN 2 KOMBINATORISK OPTIMERING GRUNDKURS för D och C Matematiska institutionen Optimeringslära TENTAMEN TAOP/TEN KOMBINATORISK OPTIMERING GRUNDKURS för D och C Datum: 17 januari 01 Tid: 8.00-1.00 Hjälpmedel: Miniräknare Kurslitteratur: Kaj Holmberg: Optimering.

Läs mer

Tentamensinstruktioner

Tentamensinstruktioner TNSL05 (6) TENTAMEN Datum: augusti 07 Tid: 8- Provkod: TEN Kursnamn: TNSL05 Optimering, modellering och planering Institution: ITN Antal uppgifter: 5 Betygskrav: För godkänt krävs normalt p, betyg kräver

Läs mer

Laboration 1 - Simplexmetoden och modellformulering

Laboration 1 - Simplexmetoden och modellformulering 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

Läs mer

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

TAOP33/TEN 2 KOMBINATORISK OPTIMERING GRUNDKURS för D och C Matematiska institutionen Optimeringslära TENTAMEN TAOP/TEN 2 KOMBINATORISK OPTIMERING GRUNDKURS för D och C Datum: 2 augusti 2011 Tid: 8.00-1.00 Hjälpmedel: Miniräknare Kurslitteratur: Kaj Holmberg: Optimering

Läs mer

TNK049 Optimeringslära

TNK049 Optimeringslära TNK49 Optimeringslära Clas Rydergren, ITN Föreläsning 7 Nätverksoptimering Billigaste uppspännande träd (MST) Billigaste väg (SP) Projektnätverk Minkostnadsflödesproblem Agenda Terminologi för grafer/nätverk

Läs mer

Tentamensinstruktioner. När Du löser uppgifterna

Tentamensinstruktioner. När Du löser uppgifterna Matematiska institutionen Optimeringslära TENTAMEN TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER för M/EMM Datum: 0 augusti 201 Tid: 8.00-1.00 Hjälpmedel: Miniräknare Kurslitteratur: Kaj Holmberg: Optimering

Läs mer

z = min 3x 1 2x 2 + y Fixera y, vilket ger subproblemet

z = min 3x 1 2x 2 + y Fixera y, vilket ger subproblemet Bendersdekomposition Blandade heltalsproblem med ett stort antal kontinuerliga variabler och få heltalsvariabler. Mycket lättare att lösa om heltalsvariablerna fixeras. Bendersdekomposition (primal dekomposition)

Läs mer

Lösningar till tentan i SF1861 Optimeringslära, 1 juni 2017

Lösningar till tentan i SF1861 Optimeringslära, 1 juni 2017 Lösningar till tentan i SF86 Optimeringslära, juni 7 Lösningarna är på svenska, utom lösningen av (a som är på engelska (a The considered network is illustrated in FIGURE below, where the supply at the

Läs mer

Tentamensinstruktioner. När Du löser uppgifterna

Tentamensinstruktioner. När Du löser uppgifterna Matematiska institutionen Optimeringslära TENTAMEN TAOP14/TEN 1 OPTIMERINGSLÄRA GRUNDKURS för I, Ii och TB Datum: 24 augusti 2009 Tid: 8.00-13.00 Hjälpmedel: Lundgren m fl: Optimeringslära och/eller Lundgren

Läs mer

Optimeringslära Kaj Holmberg

Optimeringslära Kaj Holmberg Tekniska Högskolan i Linköping Optimering för ingenjörer Matematiska Institutionen Lösning till tentamen Optimeringslära 2018-01-02 Kaj Holmberg Lösningar Uppgift 1 1a: Den givna startlösningen är tillåten

Läs mer

Tentamensinstruktioner. När Du löser uppgifterna

Tentamensinstruktioner. När Du löser uppgifterna Matematiska institutionen Optimeringslära TENTAMEN TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER för EMM Datum: 2 augusti 2011 Tid: 8.00-1.00 Hjälpmedel: Miniräknare Kurslitteratur: Kaj Holmberg: Optimering Anteckningar

Läs mer

Optimalitetsvillkor. Optimum? Matematisk notation. Optimum? Definition. Definition

Optimalitetsvillkor. Optimum? Matematisk notation. Optimum? Definition. Definition Optimum? När man har formulerat sin optimeringsmodell vill man lösa den Dvs finna en optimal lösning, x, till modellen Nästan alltid: Sökmetoder: Stå i en punkt, gå till en annan (bättre Upprepa, tills

Läs mer

TNSL05 Optimering, Modellering och Planering. Föreläsning 2: Forts. introduktion till matematisk modellering

TNSL05 Optimering, Modellering och Planering. Föreläsning 2: Forts. introduktion till matematisk modellering TNSL05 Optimering, Modellering och Planering Föreläsning 2: Forts. introduktion till matematisk modellering 2017-11-01 2 Dagordning Matematisk modellering, Linjära Problem (LP) Terminologi Målfunktion

Läs mer

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER Matematiska institutionen Optimeringslära TENTAMEN TAOP/TEN OPTIMERING FÖR INGENJÖRER Datum: 2 maj 20 Tid:.00-.00 Hjälpmedel: Miniräknare Kurslitteratur: Kaj Holmberg: Optimering Anteckningar i boken får

Läs mer

Optimeringslära 2013-11-01 Kaj Holmberg

Optimeringslära 2013-11-01 Kaj Holmberg Tekniska Högskolan i Linköping Optimering för ingenjörer Matematiska Institutionen Lösning till tentamen Optimeringslära 23-- Kaj Holmberg Uppgift a: Problemet skrivet i standardform är: Lösningar min

Läs mer

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

Ett linjärprogrammeringsproblem på allmän form ser ut som Linjärprogrammering Ett linjärprogrammeringsproblem på allmän form ser ut som Minimera n j=1 c jx j x j 0 n j=1 a ijx j b i i =1, 2,...,m Variant: Vi kan vilja maximera istället. Vi kommer att studera

Läs mer

Lösningsförslag till tentamen i SF1861 Optimeringslära för T. Onsdag 25 augusti 2010 kl

Lösningsförslag till tentamen i SF1861 Optimeringslära för T. Onsdag 25 augusti 2010 kl Lösningsförslag till tentamen i SF86 Optimeringslära för T. Onsdag 25 augusti 2 kl. 4. 9. Examinator: Per Enqvist, tel. 79 62 98. (a) Vi har ett nätverksflödesproblem med 5 noder. Låt x = (x 2, x 3, x

Läs mer

Lösningsförslag till tentamen i SF1861 Optimeringslära för T. Torsdag 28 maj 2010 kl

Lösningsförslag till tentamen i SF1861 Optimeringslära för T. Torsdag 28 maj 2010 kl Lösningsförslag till tentamen i SF86 Optimeringslära för T. Torsdag 28 maj 2 kl. 4. 9. Examinator: Per Enqvist, tel. 79 62 98. (a) Inför variablerna x = (x sr, x sm, x sp, x sa, x sd, x gr, x gm, x gp,

Läs mer

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

Optimeringslara = matematik som syftar till att analysera och. Optimeringslara ar en gren av den tillampade matematiken. Optimal = basta mojliga. Optimeringslara = matematik som syftar till att analysera och nna det basta mojliga. Anvands oftast till att nna ett basta handlingsalternativ i tekniska och ekonomiska beslutsproblem.

Läs mer

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER Matematiska institutionen Optimeringslära TENTAMEN TAOP/TEN OPTIMERING FÖR INGENJÖRER Datum: augusti 0 Tid:.00-.00 Hjälpmedel: Miniräknare Kurslitteratur: Kaj Holmberg: Optimering Anteckningar i boken

Läs mer

TAOP33/TEN 2 KOMBINATORISK OPTIMERING GRUNDKURS

TAOP33/TEN 2 KOMBINATORISK OPTIMERING GRUNDKURS Matematiska institutionen Optimeringslära TENTAMEN TAOP/TEN KOMBINATORISK OPTIMERING GRUNDKURS Datum: augusti 0 Tid:.00-.00 Hjälpmedel: Miniräknare Kurslitteratur: Kaj Holmberg: Optimering Anteckningar

Läs mer

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER Matematiska institutionen Optimeringslära TENTAMEN TAOP88/TEN OPTIMERING FÖR INGENJÖRER Datum: 0 oktober 0 Tid: 8.00-.00 Hjälpmedel: Miniräknare Kurslitteratur: Kaj Holmberg: Optimering Anteckningar i

Läs mer

TAOP86/TEN 1 KOMBINATORISK OPTIMERING MED

TAOP86/TEN 1 KOMBINATORISK OPTIMERING MED Matematiska institutionen Optimeringslära TENTAMEN TAOP8/TEN 1 KOMBINATORISK OPTIMERING MED MILJÖTILLÄMPNINGAR Datum: januari 01 Tid: 1.00-19.00 Hjälpmedel: Miniräknare Kurslitteratur: Kaj Holmberg: Optimering

Läs mer

Föreläsning 6: Nätverksoptimering

Föreläsning 6: Nätverksoptimering Föreläsning 6: Nätverksoptimering. Minkostnadsflödesproblem i nätverk.. Modellering och grafteori.. Simplexmetoden. Föreläsning 6 - Ulf Jönsson & Per Enqvist Nätverksoptimering Minkostnadsflödesproblem

Läs mer

TAOP86/TEN 1 KOMBINATORISK OPTIMERING MED

TAOP86/TEN 1 KOMBINATORISK OPTIMERING MED Matematiska institutionen Optimeringslära TENTAMEN TAOP86/TEN 1 KOMBINATORISK OPTIMERING MED MILJÖTILLÄMPNINGAR för IT Datum: 16 mars 010 Tid: 1.00-19.00 Hjälpmedel: Miniräknare Kaj Holmberg: Kombinatorisk

Läs mer

Optimeringslära för T (SF1861)

Optimeringslära för T (SF1861) Optimeringslära för T (SF1861) 1. Kursinformation 2. Exempel på optimeringsproblem 3. Introduktion till linjärprogrammering Introduktion - Ulf Jönsson & Per Enqvist 1 Linjärprogrammering Kursinformation

Läs mer

Tentamensinstruktioner. Vid skrivningens slut

Tentamensinstruktioner. Vid skrivningens slut Matematiska institutionen Optimeringslära TENTAMEN TAOP14/TEN1 OPTIMERINGSLÄRA GRUNDKURS för I och Ii Datum: 13:e januari 2011 Tid: 8.00 13.00 Hjälpmedel: Kurslitteratur av Lundgren m fl: Optimeringslära

Läs mer

Lösningar till SF1852 Optimeringslära för E, 16/1 08

Lösningar till SF1852 Optimeringslära för E, 16/1 08 Lösningar till SF8 Optimeringslära för E, 6/ 8 Uppgift (a) Problemet är ett transportproblem, ett specialfall av minkostnadsflödesproblem Nätverket består av 7 st noder A,B,C,P,Q,R,S, alternativt kallade,,,7,

Läs mer

Sats: Varje anslutningsmatris ar fullstandigt unimodular. Bevis: Lat m beteckna antalet rader i anslutningsmatrisen.

Sats: Varje anslutningsmatris ar fullstandigt unimodular. Bevis: Lat m beteckna antalet rader i anslutningsmatrisen. Sats: Varje anslutningsmatris ar fullstandigt unimodular. Bevis: Lat m beteckna antalet rader i anslutningsmatrisen. Betrakta kvadratiska delmatriser av storlek n n, dar n m, och anvand induktion med avseende

Läs mer

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

Lösningar till SF1861/SF1851 Optimeringslära, 24/5 2013 Lösningar till SF86/SF85 Optimeringslära, 4/5 03 Uppgift (a) Inför de 3 variablerna x ij = kvantitet (i sorten ton) som fabrik nr i åläggs att tillverka av produkt nr j, samt t = tiden (i sorten timmar)

Läs mer

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

TAOP33/TEN 2 KOMBINATORISK OPTIMERING GRUNDKURS för D och C. Tentamensinstruktioner. När Du löser uppgifterna Matematiska institutionen Optimeringslära TENTAMEN TAOP/TEN KOMBINATORISK OPTIMERING GRUNDKURS för D och C Datum: 1 januari 01 Tid: 8.00-1.00 Hjälpmedel: Miniräknare Kurslitteratur: Kaj Holmberg: Optimering

Läs mer

TAOP33/TEN 2 KOMBINATORISK OPTIMERING GRUNDKURS

TAOP33/TEN 2 KOMBINATORISK OPTIMERING GRUNDKURS Matematiska institutionen Optimeringslära TENTAMEN TAOP/TEN KOMBINATORISK OPTIMERING GRUNDKURS Datum: 9 april 0 Tid: 8.00-.00 Hjälpmedel: Miniräknare Kurslitteratur: Kaj Holmberg: Optimering Anteckningar

Läs mer

TAOP86/TEN 1 KOMBINATORISK OPTIMERING MED

TAOP86/TEN 1 KOMBINATORISK OPTIMERING MED Matematiska institutionen Optimeringslära TENTAMEN TAOP8/TEN 1 KOMBINATORISK OPTIMERING MED MILJÖTILLÄMPNINGAR Datum: 10 januari 201 Tid: 1.00-19.00 Hjälpmedel: Miniräknare Kurslitteratur: Kaj Holmberg:

Läs mer

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER Matematiska institutionen Optimeringslära TENTAMEN TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER Datum: januari 01 Tid: 1.00-19.00 Hjälpmedel: Miniräknare Kurslitteratur: Kaj Holmberg: Optimering Anteckningar

Läs mer

Lösningar till tentan i SF1861 Optimeringslära, 3 Juni, 2016

Lösningar till tentan i SF1861 Optimeringslära, 3 Juni, 2016 Lösningar till tentan i SF86 Optimeringslära, 3 Juni, 6 Uppgift (a) We note that each column in the matrix A contains one + and one, while all the other elements in the column are zeros We also note that

Läs mer

MICROECONOMICS Mid Sweden University, Sundsvall (Lecture 2) Peter Lohmander &

MICROECONOMICS Mid Sweden University, Sundsvall (Lecture 2) Peter Lohmander   & MICROECONOMICS 2018 Mid Sweden University, Sundsvall (Lecture 2) Peter Lohmander www.lohmander.com & Peter@Lohmander.com NYTT MÖTE: Diskutera Ert förslag till lämpligt problem med kursledaren (Peter Lohmander)

Läs mer

Tentamensinstruktioner

Tentamensinstruktioner TNSL05 1(7) TENTAMEN Datum: 1 april 2016 Tid: 14-18 Provkod: TEN1 Kursnamn: TNSL05 Optimering, modellering och planering Institution: ITN Antal uppgifter: 5 Betygskrav: För godkänt krävs normalt 12 p,

Läs mer

TAOP33/TEN 2 KOMBINATORISK OPTIMERING GRUNDKURS

TAOP33/TEN 2 KOMBINATORISK OPTIMERING GRUNDKURS Matematiska institutionen Optimeringslära TENTAMEN TAOP/TEN KOMBINATORISK OPTIMERING GRUNDKURS Datum: oktober 08 Tid: 8.00-.00 Hjälpmedel: Miniräknare Kurslitteratur: Kaj Holmberg: Optimering Anteckningar

Läs mer

TNK049 Optimeringslära

TNK049 Optimeringslära TNK049 Optimeringslära Clas Rydergren, ITN Föreläsning 3 Problemklassificering Global/lokal optimalitet Konvexitet Generella sökmetoder Agenda Problemklassificering (kap 1.4, 2.1 2.3) Lokalt/globalt optimum

Läs mer

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER Matematiska institutionen Optimeringslära TENTAMEN TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER Datum: 28 augusti 2015 Tid: 1.00-19.00 Hjälpmedel: Miniräknare Kurslitteratur: Kaj Holmberg: Optimering Anteckningar

Läs mer

Dynamisk programmering. Dynamisk programmering. Dynamisk programmering. Dynamisk programmering

Dynamisk programmering. Dynamisk programmering. Dynamisk programmering. Dynamisk programmering Betrakta ett lagerhållningsproblem i flera tidsperioder. Vi har tillverkning och försäljning av produkter i varje tidsperiod. Dessutom kan vi lagra produkter mellan tidsperioder, för att utnyttja stordriftsfördelar

Läs mer

TAOP33/TEN 2 KOMBINATORISK OPTIMERING GRUNDKURS

TAOP33/TEN 2 KOMBINATORISK OPTIMERING GRUNDKURS Matematiska institutionen Optimeringslära TENTAMEN TAOP/TEN KOMBINATORISK OPTIMERING GRUNDKURS Datum: 1 april 01 Tid: 8.00-1.00 Hjälpmedel: Miniräknare Kurslitteratur: Kaj Holmberg: Optimering Anteckningar

Läs mer

TAOP86/TEN 1 KOMBINATORISK OPTIMERING MED

TAOP86/TEN 1 KOMBINATORISK OPTIMERING MED Matematiska institutionen Optimeringslära TENTAMEN TAOP8/TEN 1 KOMBINATORISK OPTIMERING MED MILJÖTILLÄMPNINGAR Datum: 9 augusti 01 Tid: 1.00-19.00 Hjälpmedel: Miniräknare Kurslitteratur: Kaj Holmberg:

Läs mer

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

5B1817 Tillämpad ickelinjär optimering. Kvadratisk programmering med olikhetsbivillkor Active-set metoder 5B1817 Tillämpad ickelinjär optimering Föreläsning 7 Kvadratisk programmering med olikhetsbivillkor Active-set metoder A. Forsgren, KTH 1 Föreläsning 7 5B1817 2006/2007 Kvadratisk programmering med olikhetsbivillkor

Läs mer

TAOP33/TEN 2 KOMBINATORISK OPTIMERING GRUNDKURS

TAOP33/TEN 2 KOMBINATORISK OPTIMERING GRUNDKURS Matematiska institutionen Optimeringslära TENTAMEN TAOP/TEN KOMBINATORISK OPTIMERING GRUNDKURS Datum: januari 0 Tid: 8.00-.00 Hjälpmedel: Miniräknare Kurslitteratur: Kaj Holmberg: Optimering Anteckningar

Läs mer

Tentamensinstruktioner. När Du löser uppgifterna

Tentamensinstruktioner. När Du löser uppgifterna Matematiska institutionen Optimeringslära TENTAMEN TAOP/TEN 1 OPTIMERING FÖR INGENJÖRER för M/EMM Datum: 1 november 2013 Tid:.00-13.00 Hjälpmedel: Miniräknare Kurslitteratur: Kaj Holmberg: Optimering Anteckningar

Läs mer

N = {i}: noder (hörn) Graf: G = (N, B) Definitioner. Väg: Sekvens av angränsande bågar. Cykel: Väg som startar och slutar i samma nod.

N = {i}: noder (hörn) Graf: G = (N, B) Definitioner. Väg: Sekvens av angränsande bågar. Cykel: Väg som startar och slutar i samma nod. Polyeder 0 x, 0 x, 0 x, x + x + x, x + x + x Grafdefinitioner N = {i}: noder (hörn) = {(i, j)}, i N, j N: bågar (kanter) Graf: G = (N, ) efinitioner Väg: Sekvens av angränsande bågar. ykel: Väg som startar

Läs mer

TAOP86/TEN 1 KOMBINATORISK OPTIMERING MED

TAOP86/TEN 1 KOMBINATORISK OPTIMERING MED Matematiska institutionen Optimeringslära TENTAMEN TAOP8/TEN 1 KOMBINATORISK OPTIMERING MED MILJÖTILLÄMPNINGAR Datum: 1 oktober 01 Tid: 1.00-19.00 Hjälpmedel: Miniräknare Kurslitteratur: Kaj Holmberg:

Läs mer

Träd. Sats. Grafer. Definition. En fullständig graf har en båge mellan varje par av noder. Definition

Träd. Sats. Grafer. Definition. En fullständig graf har en båge mellan varje par av noder. Definition Grafdefinitioner Träd N = {i}: noder (hörn) = {(i, j)}, i N, j N: bågar (kanter) Graf: G = (N, ) efinitioner Väg: Sekvens av angränsande bågar. ykel: Väg som startar och slutar i samma nod. En enkel väg

Läs mer

TAOP33/TEN 2 KOMBINATORISK OPTIMERING GRUNDKURS

TAOP33/TEN 2 KOMBINATORISK OPTIMERING GRUNDKURS Matematiska institutionen Optimeringslära TENTAMEN TAOP/TEN KOMBINATORISK OPTIMERING GRUNDKURS Datum: 1 mars 01 Tid: 8.00-1.00 Hjälpmedel: Miniräknare Kurslitteratur: Kaj Holmberg: Optimering Anteckningar

Läs mer

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER Matematiska institutionen Optimeringslära TENTAMEN TAOP/TEN OPTIMERING FÖR INGENJÖRER Datum: juni 0 Tid:.00-.00 Hjälpmedel: Miniräknare Kurslitteratur: Kaj Holmberg: Optimering Anteckningar i boken får

Läs mer

Föreläsning 9: NP-fullständighet

Föreläsning 9: NP-fullständighet Föreläsning 9: NP-fullständighet Olika typer av problem: 1. Beslutsproblem: A(x) =Ja. 2. Optimeringsproblem: A(x) =m Vanligen max/min. 3. Konstruktionsproblem: A(x) =En struktur. Vanligen lösningen till

Läs mer

TAOP86/TEN 1 KOMBINATORISK OPTIMERING MED

TAOP86/TEN 1 KOMBINATORISK OPTIMERING MED Matematiska institutionen Optimeringslära TENTAMEN TAOP/TEN 1 KOMBINATORISK OPTIMERING MED MILJÖTILLÄMPNINGAR för IT Datum: 11 mars 2013 Tid: 14.00-19.00 Hjälpmedel: Miniräknare Kaj Holmberg: Optimering.

Läs mer

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

TAOP33/TEN 2 KOMBINATORISK OPTIMERING GRUNDKURS för D och C. Tentamensinstruktioner. När Du löser uppgifterna Matematiska institutionen Optimeringslära TENTAMEN TAOP/TEN KOMBINATORISK OPTIMERING GRUNDKURS för D och C Datum: juni 0 Tid:.00-9.00 Hjälpmedel: Miniräknare Kurslitteratur: Kaj Holmberg: Optimering. Kaj

Läs mer

Tentamensinstruktioner

Tentamensinstruktioner Linköpings Tekniska Högskola Institutionen för Teknik och Naturvetenskap/ITN TENTAMEN TNE 05 OPTIMERINGSLÄRA Datum: 008-05-7 Tid: 4.00-8.00 Hjälpmedel: Boken Optimeringslära av Lundgren et al. och Föreläsningsanteckningar

Läs mer