Optimering på dator. Laborationsinstruktion Systemanalysgruppen, 1998 Uppsala universitet. Handledarens kommentarer.



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

1 Duala problem vid linjär optimering

TAOP86/TEN 1 KOMBINATORISK OPTIMERING MED

Tentamensinstruktioner. När Du löser uppgifterna

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.

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

Optimering. Optimering av transportproblem. Linköpings universitet SL. Campusveckan VT2013

Tentamensinstruktioner. När Du löser uppgifterna

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.

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

Tentamensinstruktioner. När Du löser uppgifterna

MIO310 OPTIMERING OCH SIMULERING, 4 p

Tentamensinstruktioner

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

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

Dynamisk programmering. Dynamisk programmering. Dynamisk programmering. Dynamisk programmering

Tentamensinstruktioner. När Du löser uppgifterna

Tentamensinstruktioner

Tentamensinstruktioner

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

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER

Laboration 1 - Simplexmetoden och modellformulering

Tentamensinstruktioner. När Du löser uppgifterna

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:

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

Laboration 1 - Simplexmetoden och Modellformulering

MIO310 OPTIMERING OCH SIMULERING, 4 p

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

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER

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:

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

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

Tentamensinstruktioner

TAOP86/TEN 1 KOMBINATORISK OPTIMERING MED

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

TAOP86/TEN 1 KOMBINATORISK OPTIMERING MED

Tentamensinstruktioner. Vid skrivningens slut

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

Optimeringslära för T (SF1861)

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

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

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

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

TAOP33/TEN 2 KOMBINATORISK OPTIMERING GRUNDKURS

Tentamensinstruktioner

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

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER

Introduktion till att använda sig av GLPK

TAOP86/TEN 1 KOMBINATORISK OPTIMERING MED

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

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER

Tentamensinstruktioner

MIO310 OPTIMERING OCH SIMULERING, 4 p

TAOP33/TEN 2 KOMBINATORISK OPTIMERING GRUNDKURS

Laboration 1 Introduktion till Visual Basic 6.0

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER

Tentamensinstruktioner. När Du löser uppgifterna

Optimeringslära Kaj Holmberg

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER

Föreläsning 6: Nätverksoptimering

TAOP61/TEN 1 OPTIMERING AV REALISTISKA SAMMANSATTA SYSTEM

1 Minkostnadsflödesproblem i nätverk

TNSL05 Övningsuppgifter modellering

TNK047 [TEN1] OPTIMERING OCH SYSTEMANALYS

TNK049 Optimeringslära

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

Tentamensinstruktioner

TENTAMEN Tillämpad Systemanalys 5hp

TAOP86/TEN 1 KOMBINATORISK OPTIMERING MED

Optimering med bivillkor

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

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER

Dokumenttyp Dokumentbeteckning Diarienummer Sida

TAOP86/TEN 1 KOMBINATORISK OPTIMERING MED

Tentamensinstruktioner. När Du löser uppgifterna

RSI Road Status Information A new method for detection of road conditions

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

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

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER

TAOP61/TEN 1 OPTIMERING AV REALISTISKA SAMMANSATTA SYSTEM

Tentamensinstruktioner. När Du löser uppgifterna

TAOP33/TEN 2 KOMBINATORISK OPTIMERING GRUNDKURS

TENTAMEN Tillämpad Systemanalys 5hp

Grundkurs 2 IKT. Dan Haldin Ålands lyceum

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

Eulercykel. Kinesiska brevbärarproblemet. Kinesiska brevbärarproblemet: Metod. Kinesiska brevbärarproblemet: Modell. Definition. Definition.

TNK049 Optimeringslära

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER

TNK049 Optimeringslära

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER

Grundkurs 1 IKT Filhantering

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

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

Optimering. Optimering

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

TAOP86/TEN 1 KOMBINATORISK OPTIMERING MED

1 LP-problem på standardform och Simplexmetoden

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

Leverantörens guide för hantering av Web Supply Manager

Tema Linjär optimering

Transkript:

Laborationsinstruktion Systemanalysgruppen, 1998 Uppsala universitet Optimering på dator Namn Handledarens kommentarer Grupp Inskrivningsår Utförd den Godkänd den Signum Leif Gustafsson 1985 Thomas Persson 1995 Håkan Lanshammar 1998

Inledning Denna laboration/inlämningsuppgift avser att visa hur praktiskt arbete med optimering på dator kan gå till. Utgångspunkten är att du behöver lösa vissa optimeringsproblem och därför har fått tillgång till lämplig programvara. Det är nu din uppgift att sätta dig in i hur denna fungerar och med hjälp av denna lösa dina problem. Uppgifterna behandlar LP- och IP-problem samt ger en del ny kunskap. Den programvara som ska användas är Microsoft Excel Solver. Detta är ett optimeringspaket utvecklat av Frontline Systems, Inc. Man hittar den under Tools i Excel, och detta program finns också för de andra kalkylprogrammen Lotus 123 och Borland Quattro Pro. Här nedan ges en kort introduktion till hur Solver används. Mer information finns i Excels hjälpsystem och på Frontline s www-hemsida: http://www.frontsys.com. Som exempel löser vi problemet: Max( f ) = 20x + 20x x1 + 2x2 80 3x 1 + 2x2 120 x1, x2 0 Generellt på matrisform: T Max( f ) = c x Ax b x 0 1 2 Problemet kan skrivas in i Excel: A B C D E F 1 x1 x2 2 Variabler 0 0 3 Värde 4 Kriterium c 20 20 0 5 6 Bivillkor A 1 2 0 7 3 2 0 Värdekolumnen (F) innehåller aktuellt värde på kriteriefunktionen respektive bivillkoren. Detta kan lämpligen skrivas med funktionen SUMPRODUCT. I cellen F4 står =SUMPRODUCT(C$2:D$2;C4:D4). Denna kan sedan kopieras till 1

F6 och F7. ($-tecknet ger en absolut referens, och ligger fast vid kopiering, medan t ex C4 flyttar med vid kopieringen). Starta nu Solver som finns i Tools-menyn. Följande fönster dyker upp: Här fylls nödvändig information i: Set Target Cell: $F$4 By changing: $C$2:$D$2 Subject to the constraints: $C$2:$D$2>=0 $F$6<=80 $F$7<=120 Under Options kan man ställa in att problemet är ett LP-problem, vilket gör att Simplexmetoden används. Om en eller flera variabler är heltal, så lägger man till ett bivillkor att variabeln är av typ Int (Olikhetstecknet ersätts med int). När problemet väl är definierat trycker man på Solve I ovanstående exempel får man: A B C D E F 1 x1 x2 2 Variabler 20 30 3 Värde 4 Kriterium c 20 20 1000 5 6 Bivillkor A 1 2 80 7 3 2 120 För att studera lösningen och analysera denna väljer man olika Rapporter, Reports: Answer, Sensitivity, Limits Samtliga filer du skapar hamnar på C:\STUDENT. Om du vill spara dem kan du kopiera dem därifrån till en egen diskett på två sätt: 1. I DOS: Skriv copy C:\STUDENT\FILNAMN A: 2. I Windows: Använd filhanteraren (Explorer) För godkänd uppgift krävs att uppgifterna är gjorda och ifyllda. Uppgifterna ska vara redovisade i snyggt och LÄSBART skick. 2

3

Uppgift 1 a) Lös problemet max f = x + 2x 1 2 då 1.5x 1 + 2x 2 6 x 1 + 4x 2 8 2.5x 1 + 6x 2 15 x 1 + x 2 1 x 1,x 2 0 b) Rita en figur över bivillkoren och markera var max ligger. c) Vilket bivillkor begränsar ej det tillåtna området, och kan således tas bort? 4

Uppgift 2 a) Lös problemet max f = 2x + 3x x x 1 2 3 4 då x 1 + x 2 + x 3 2x 4 4 x 1 + x 2 + x 3 x 4 1 x 1 + x 4 3 x 1, x 2, x 3, x 4 0 b) Konstruera det duala problemet och skriv ner detta samt ange lösningen. c) Jämför den optimala lösningen till det duala problemet med den optimala lösningen erhållen i uppgift a). Kommentar:... 5

Uppgift 3 Formulera följande blandningsproblem som ett LP-problem och använd Excel Solver för att lösa det. Antag att en tillverkare av kreatursfoder vill framställa en produkt med följande egenskaper. Min Max Megakalorital 2.6 2.9 Råproteinhalt 12.1 15.8 Växttrådhalt 4.8 100 I produkten får råvaror användas enligt nedanstående tabell. Råvara Min inblandningsprocent Havre 0 100 Soja 0 100 Rapsmjöl 2 9 Kokos 2.5 100 Bomull 0 3 Max inblandningsprocent Pris och innehåll för råvarorna framgår av följande tabell. Råvara Pris (kr/dt) Mkalori Råprotein Växttråd Havre 65.0 2.75 11.0 8.3 Soja 96.0 3.02 40.0 7.3 Rapsmjöl 69.5 2.65 32.0 11.0 Kokos 90.0 3.07 20.0 11.1 Bomull 93.0 2.90 35.0 11.9 Vi skall beräkna ett recept som uppfyller produktkraven till lägsta kostnad. Problemet kan då formuleras på följande sätt. 6

Vi inför variabler. xh = andelen havre i receptet xs = andelen soja i receptet osv... Blandningens råproteinhalt kan då uttryckas som 11xH + 40xS + 32xR + 20xK + 35xB Villkoret på råproteinhalten ger följande: 12.1 11xH + 40xS + 32xR + 20xK + 35xB 15.8 På motsvarande sätt formuleras de andra villkoren. Vi kan nu ställa upp tablån. xh xs xr xk xb Kostnad 65.0 96.0 69.5 90.0 93.0 Mkalorimin 2.75 3.02 2.65 3.07 2.90 2.6 Mkalorimax 2.75 3.02 2.65 3.07 2.90 2.9 Råprot.min 11 40 32 20 35 12.1 Råprot.max 11 40 32 20 35 15.8 Växttr.min 8.3 7.3 11.0 11.1 11.9 4.8 Balans 1 1 1 1 1 = 1 Min Max 0-0 - 0.02 0.09 0.025-0 0.03 Balansekvationen uttrycker att andelarnas summa skall vara ett. Använd variabelnamnen HAVRE; SOJA osv från texten så att resultatet kommer i "klartext" (alltså ej X1, X2... vilket försvårar tolkningen). Bivillkoren ska också anges i klartext: MCALMIN, MCALMAX osv. 7

Vad blev den minimala kostnaden och vad svarar detta mot för proportioner av de olika ingredienserna? Inom vilka gränser för kostnaderna på de ingående ingredienserna är denna lösning optimal? Vilka bivillkor är begränsande och vad är marginalpriserna för dessa? Vad betyder detta i klartext? (Ledtråd: Vad innebär en ändring av bivillkoren med en enhet?) 8

Uppgift 4 Formulera och lös följande transportproblem. Denna modelltyp användes tidigt av bl a livsmedelsindustrin i USA för att optimera varuflöden från fabriker till regionallager och är en vanlig LPtillämpning. Ett flygbolag skall under en tidsperiod försörja fyra av de flygplatser bolaget trafikerar med bränsle. Bränslebehovet uppskattas härvid enligt tabellen nedan. Flygplats Behov (1000-tal liter) 1 100 2 300 3 300 4 400 Man har från tre olika bränsleleverantörer fått offerter om leveranskapacitet och en prisoffert för leverans till varje flygplats. Leverantör Leveranskapacitet (1000-tal liter) 1 250 2 400 3 500 Följande priser i kronor per 1000 liter har offererats: Flygplats 1 2 3 4 Leverantör 1 240 180 200 230 2 200 220 280 240 3 160 220 260 180 Det gäller att bestämma en inköps- och leveransplan, som ger minsta totala bränslekostnad under perioden. Följande variabler införs 9

xij = levererad mängd bränsle, i 1000-tal liter, från leverantör i till flygplats j. Vi kan nu ställa upp villkoret för att kapaciteten hos t ex leverantör 1 inte överskrids: x11 + x12 + x13 + x14 250 På motsvarande sätt garanterar villkoret x13 + x23 + x33 = 300 att flygplats 3 får sitt behov tillgodosett. Vi sammanfattar problemet i en tablå. x11 x12 x13 x14 x21 x22 x23 x24 x31 x32 x33 x34 Kostnad 240 180 200 230 200 220 280 240 160 220 260 180 Kap lev 1 1 1 1 1 250 Kap lev 2 1 1 1 1 400 Kap lev 3 1 1 1 1 500 Beh flp 1 1 1 1 = 100 Beh flp 2 1 1 1 = 300 Beh flp 3 1 1 1 = 300 Beh flp 4 1 1 1 = 400 Leveranser från leverantör 1 Leveranser från leverantör 2 Leveranser från leverantör 3 Anmärkning: Detta sk enkla transportproblem brukar räknas till klassen av flödesproblem. Ett flödesproblem är en viss typ av LP-problem med en naturlig geometrisk illustration. Figuren på följande sida illustrerar vårt exempel. Problemet kan ses som att bestämma ett kostnadsminimerande varuflöde från leverantör till flygplatserna. 10

Kapacitet 250 400 500 Behov 100 300 300 400 Leverantör Flygplats Även här ska du använda "klartext", tex "KOSTNAD". Mängden levererat bränsle från LEVERANTÖR i till FLYGPLATS j kan du kalla Xij. Vad är den minimala kostnaden för leveranserna och vilka leveranser svarar detta mot? Svara med en graf där de levererade mängderna är angivna på pilarna mellan respektive LEVERANTÖR och FLYGPLATS. Plats för graf 11

Vilka leverantörer får utnyttja hela sin kapacitet? Vad hade det inneburit i extra kostnad om LEVERANTÖR 1 bara kunnat leverera 249 tusen liter (i stället för 250 tusen)? Ange också hur du fått ditt svar. 12

Uppgift 5 En problemtyp som kan lösas med heltalsprogrammering (eller med dynamisk programmering) är det så kallade kappsäcksproblemet. Utgångspunkten är här att man vill ta med ett antal saker vilka representerar olika värden men också kräver olika mycket ifråga om t ex vikt eller utrymme. Kappsäcksproblemet kan uppstå när man väljer bland olika verktyg eller reservdelar till en expedition, när man vill utnyttja utrymmet i en transport för maximal överföring i värde eller då man planerar vilka varor en begränsad yta i ett varuhus bör innehålla. Kappsäcksproblemet får då formen: Maximera f = x e då x i v i b i alla x i heltal i i i xi är då antalet av produkten i med värdet ei och vikten eller volymen vi. b är den totala vikten eller volymen som finns till förfogande. Lös följande kappsäcksproblem. Tänk på att variablerna är heltalsvariabler. Lägg till bivillkor där du anger att variablerna är int! En inbrottstjuv med alltför liten kappsäck står inför problemet att packa denna så att värdet av stöldgodset maximeras då volymen är begränsad. Varje föremål har ett känt värde ei och kräver en känd volym vi. Kappsäckens totala volym är 60 liter. Föremålen är listade i följande tabell: Föremål (i) 1 2 3 4 5 Värde (ei) 1000 600 700 150 150 Volym (vi) 52 23 35 15 7 (Vi antar att det finns många föremål av varje typ) Vilka föremål ger en kappsäck med störst värde och vilket är detta värde? 13

Uppgift 6 Ett bemanningsschema för en personalgrupp (läkare, flygledare,...) för ett företag (sjukhus, flygplats...) som är igång dygnet runt visas i nedanstående tabell. Period 1 2 3 4 5 6 Tid 03-07 07-11 11-15 15-19 19-23 23-03 Minimiantal 7 20 14 20 10 5 Efter period 6 följer cykliskt period 1 igen. Varje person arbetar två pass i följd (= 8 timmar). Bestäm ett bemanningsschema som uppfyller kraven med minimalt antal personer. Hur ser detta schema ut och hur många personer behövs? (Hjälp: Beteckna antal personer som arbetar period 1 + 2 med I12, osv) 14

Uppgift 7 Man önskar öppna ett dagbrott inom en begränsad kvadratisk yta. På grund av rasrisk kan sidorna inte tillåtas att luta mer än 45 grader. Man har därför delat in marken i kuber av 25 meter enligt figuren nedan. Nivå 1 (ytan) Nivå 2 Nivå 3 De block som är möjliga att bryta ligger alltså i en upp- och nedvänd tredimensionell trapp-pyramid. Genom provborrningar har man beräknat malminnehållet (i procent) hos de olika blocken och fått resultaten i nedanstående tabeller. 3.0 1.5 0.5 1.5 0.0 2.5 7.0 5.0 0.0 2.0 1.5 5.0 7.0 5.5 Nivå 1 (ytan) Nivå 2 Nivå 3 Värdet av ett block är proportionellt mot malminnehållet. Ett block med 1% malm är värt 200 000 kronor. Kostnaden att utvinna ett block ökar med djupet enligt: Nivå 1: 500 000 kronor/block Nivå 2: 700 000 kronor/block Nivå 3: 900 000 kronor/block Ett block kan naturligtvis inte brytas förrän de fyra blocken i lagret ovanför är avlägsnade. Det gäller nu att bestämma vilka block som ska brytas för att vinsten ska bli så stor som möjligt. 15

Hjälp: Numrera blocken nerifrån med 1 på nivå 3, 2-5 för nivå 2 samt 6-14 för nivå 1. Vi får då 14 block som kan brytas eller lämnas orörda. Vi betecknar block i med bi som är 1 om blocket brytes och annars 0. Det djupaste blocket, nummer 1 på nivå 3 kan brytas endast om de fyra blocken på nivå 2 först brutits. Detta villkor kan formuleras som: 4b1 - b2 - b3 - b4 - b5 0 Vilka block behöver brytas (strecka dessa i figuren på föregående sida) och vad blir vinsten för hela dragbrottet? Hur många bivillkor behövde du använda i modellen? 16

Uppgift 8 (teoriuppgift) Betrakta följande LP-problem: T max f = c x då Ax b x 0 A där x c n b m A m, R, R, R n. Antag att problemet har en optimal tillåten baslösning för basen xb och att vi är intresserade av vad som händer om vi adderar en störning b till högerledet i bivillkoren. Svara på följande frågor genom att utnyttja matrisformuleringen av Simplexmetoden. a) Under vilka villkor kommer den tidigare basen att vara tillåten efter störningen? b) Om baslösningen är tillåten efter störning, kommer den då också att fortfarande vara optimal? (På nästa sida finns det plats för lösning.) 17

Uppgift 9 (teoriuppgift) Besvara följande frågor. a) Hur många optimala lösningar har ett LP-problem? (Ange alla möjligheter.) b) Om ett LP-problem har en ändlig lösning, vad gäller då för det duala problemets optimala lösning? c) Betrakta lösningarna till det primala och det duala problemet i uppgift 2. Det finns nämligen alltid ett släktskap mellan lösningen till ett problem och marginalpriserna till det duala problemets lösning. Vilken? 18