Föreläsning 2: A/ modellera och lösa LP-problem. TAOP14: Föreläsning 2

Relevanta dokument
Föreläsning 2: A/ modellera och lösa LP-problem

Föreläsning 2: A/ modellera och lösa LP-problem. TAOP52: Föreläsning 2. Att modellera och lösa LP-problem

Föreläsning 2: A/ modellera och lösa LP-problem

TAOP52: Optimeringslära grundkurs

TAOP14: Optimeringslära grundkurs

TAOP14: Optimeringslära grundkurs

TAOP52: Optimeringslära grundkurs

Introduktion till modelleringsspråket Ampl

Laboration 1 - Simplexmetoden och modellformulering

Laboration 1 - Simplexmetoden och Modellformulering

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

Optimering med hjälp av Lego. Mathias Henningsson

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

TNK049 Optimeringslära

Tentamensinstruktioner

Laborationsinformation

MIO310 OPTIMERING OCH SIMULERING, 4 p

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:

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

Tentamensinstruktioner

Laboration 2 - Heltalsoptimering

TAOP61/TEN 1 OPTIMERING AV REALISTISKA SAMMANSATTA SYSTEM

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:

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

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

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

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

TNSL05 Övningsuppgifter modellering

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

Tentamensinstruktioner

Tentamensinstruktioner. Vid skrivningens slut

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

Optimering och simulering: Hur fungerar det och vad är skillnaden?

Tentamensinstruktioner

Optimeringslära Kaj Holmberg

Tentamensinstruktioner

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

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

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

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.

1 Duala problem vid linjär optimering

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 Optimering, Modellering och Planering. Föreläsning 5

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

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

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

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER

1 LP-problem på standardform och Simplexmetoden

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

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

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER

TAOP33/TEN 2 KOMBINATORISK OPTIMERING GRUNDKURS

TAOP86/TEN 1 KOMBINATORISK OPTIMERING MED

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

MIO310 OPTIMERING OCH SIMULERING, 4 p

Tentamensinstruktioner. När Du löser uppgifterna

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

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER

TAOP86/TEN 1 KOMBINATORISK OPTIMERING MED

Optimering med bivillkor

MIO310 OPTIMERING OCH SIMULERING, 4 p

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER

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

Tentamensinstruktioner. När Du löser uppgifterna

Optimeringslära Kaj Holmberg

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

Dynamisk programmering. Dynamisk programmering. Dynamisk programmering. Dynamisk programmering

Tentamensinstruktioner. När Du löser uppgifterna

MIO310 OPTIMERING OCH SIMULERING, 4 p

TAOP61/TEN 1 OPTIMERING AV REALISTISKA SAMMANSATTA SYSTEM

TNK049 Optimeringslära

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

General Algebraic Modeling System Översätter direkt från modell till algoritm.

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER

Optimeringslära Kaj Holmberg

TNK047 [TEN1] OPTIMERING OCH SYSTEMANALYS

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

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

Tentamensinstruktioner. När Du löser uppgifterna

TAOP33/TEN 2 KOMBINATORISK OPTIMERING GRUNDKURS

Tentamensinstruktioner

Tentamensinstruktioner. När Du löser uppgifterna

SF1545 Laboration 1 (2015): Optimalt sparande

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

TNK049 Optimeringslära

Tekniska Högskolan i Linköping Optimering av realistiska sammansatta system. Optimeringslära Kaj Holmberg.

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

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

Optimering med bivillkor

TAOP61 Projekt 2. Kaj Holmberg (LiU) TAOP61 Optimering 28 oktober / 14

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

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER

Optimering av olika slag används inom så vitt skilda områden som produktionsplanering,

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

Hemuppgift 2, SF1861 Optimeringslära för T, VT-10

Optimeringslära Kaj Holmberg

k 1 B k 2 C ges av dx 1 /dt = k 1 x 1 x 1 (0) = 100 dx 2 /dt = k 1 x 1 k 2 x 2 x 2 (0) = 0 dx 3 /dt = k 2 x 2 x 3 (0) = 0

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

TAOP61/TEN 1 OPTIMERING AV REALISTISKA SAMMANSATTA SYSTEM

TAOP61/TEN 1 OPTIMERING AV REALISTISKA SAMMANSATTA SYSTEM

Transkript:

TAOP14: Föreläsning 2 Problemställning i ord matematisk modell AMPL-modell CPLEX resultatutskrift svar på den givna problemställningen TAOP14: Föreläsning 2 2 Föreläsning 2: A/ modellera och lösa LP-problem Problemställning i ord matema=sk modell AMPL-modell CPLEX resultatutskrid svar på den givna problemställningen 1

TAOP14: Föreläsning 2 3 Verkligt problem Iden=fiering, avgränsningar, förenklingar, antaganden Verifiering Validering Förenklat problem Op=meringsmodell Lösning Formulering Lösningsmetod Resultat TAOP14: Föreläsning 2 4 Problemställning i ord matematisk modell Beslut Variabler Mål Målfunk=on Begränsningar Bivillkor 2

TAOP14: Föreläsning 2 5 Exempel: Produk=onsplanering Produk=on av två olika produkter. Maximera den totala vinsten. Resurs=llgång vid de två =llverkningsavdelningarna: avd 1: 240h; avd 2: 140h Produkt 1 vinst/enhet: 30 kr resursåtgång avd 1: 4h resursåtgång avd 2: 2h begränsad ederfrågan: 40 st Produkt 2 vinst/enhet: 20 kr resursåtgång avd 1: 3h resursåtgång avd 2: 2h TAOP14: Föreläsning 2 6 Modellformulering Variabeldefini=on: x i = antalet =llverkade av produkt i, i = 1, 2 Matema=sk modell: max z = 30x 1 + 20x 2 då 4x 1 + 3x 2 apple 240 2x 1 + 2x 2 apple 140 x 1 apple 40 x 1, x 2 0 [målfunk)on] [resurs, avd. 1] [resurs, avd. 2] [maxproduk)on] [variabelbegränsningar] 3

TAOP14: Föreläsning 2 7 Vid modellering Parametrar: Givna data, beskriver problemet. Resursbegränsningar, priser, =llgångar, ederfrågan Variabler: Det man ska fa/a e/ beslut om / vill ha svar på. Produk=on, försäljning, inköp, lager, transport, blandning Bivillkor: Kopplar samman variabler och parametrar som behöver kommunicera med varandra. Resursbegränsningar, lagerbalans, ederfrågekrav Målfunk=on: Maximera vinst / minimera kostnader Försäljning gånger intäkt minus inköp gånger inköpspris TAOP14: Föreläsning 2 8 Parametrar Alla siffror som är kända, givna från början, beskriver förutsä/ningarna för problemet. Till exempel: Resurser - Tillgångar b kt ( råvara k, =d t ) - Åtgång a kj ( råvara k, produkt j ) Priser - Inköpspriser p kt ( råvara k, =d t ) - Försäljningspriser c jt ( produkt j, =d t ) EDerfrågan - Krav på produk=on d jt ( produkt j, =d t ) Kan vara minimumkrav ( ), maximumkrav ( ) eller exakt ederfrågan (=). 4

TAOP14: Föreläsning 2 9 Variabler Det man ska bestämma / kan påverka / vill ha svar på: Produk=on x jt hur mycket ska produceras av produkt j under =dsperiod t Inköp y kt hur mycket ska köpas in av råvara k under =dsperiod t Lager L kt hur mycket finns i lager av råvara k i slutet (början) av =dsperiod t Transport T mnt hur mycket ska transporteras från plats m =ll plats n under =dsperiod t TAOP14: Föreläsning 2 10 Bivillkor Reglerar så a/ ställda krav tvingas a/ uppfyllas : Resursbegränsningar Lagerbalans j J a kj x jt b kt k, t Lk, t 1 + ykt akj x jt = Lkt k, t j J Transportkrav (från varje m) Variabelbegränsningar (=ll varje n) n N T T mnt mnt m M x jt s d mt nt m, t n, t 0 j, t 5

TAOP14: Föreläsning 2 11 Målfunk=on Ska minimeras eller maximeras Kan bestå av flera komponenter (intäkter / kostnader). Ska bestå av all=ng som man tjänar på, och allt som kostar Koppla samman varje kostnad / intäkt med en lämplig variabel. Exempelvis: Inköpskostnad (parameter) & inköpsmängd (variabel) p kt * y kt Försäljningspris (parameter) & försäljning (variabel) c jt * x jt Om en viss intäkt / kostnad inte verkar passa ihop med någon av variablerna: Fundera över om någon variabel saknas! TAOP14: Föreläsning 2 12 Formulering av bivillkor Produk=onsplaneringsproblem: I råvaror används ( i = 1,,20 ) J produkter ska =llverkas ( j = 1,...,10 ) T =dsperioder ( t = 1,...,5 ) Förutsä/ningar: Råvarubegränsning: b ijk enheter per vecka Total =llgång av varje enskild råvara: c i Total =llgång av samtliga råvaror: b total EDerfrågekrav på varje produkt: minst d j enheter Total produk=onsmängd: som mest d total enheter 6

TAOP14: Föreläsning 2 13 Formulering av bivillkor Variabeldefini=on: x ijt = Mängd råvara i som ska blandas i produkt j i =dsperiod t, i = 1,,20 j = 1,...,10 t = 1,...,5 Formulera följande bivillkor: a) Användningen av råvara i =ll produkt j får inte övers=ga =llgången b ijt enheter per vecka t b) Användningen av råvara i får inte övers=ga den totala =llgången c i enheter c) Den totala användningen av råvaror får inte övers=ga b total enheter T 2.1 TAOP14: Föreläsning 2 14 Formulering av bivillkor d) Den totala mängden av produkt j ska vara minst d j enheter e) Den totala mängden av produkter får högst vara d total under varje vecka t f) Mängden av råvara i = 2 ska vara densamma som råvara i = 3 =ll produkt j under vecka t = 4 g) Varje enskild produkt som =llverkas får innehålla som mest 30% av råvara i = 8 7

TAOP14: Föreläsning 2 15 Exempel: produk=onsplanering II De kommande tre veckorna, t = 1,2,3, är ederfrågan av en viss produkt d 1, d 2, respek=ve d 3. EDerfrågan i vecka t =llgodoses an=ngen genom produk=on eller a/ ta från befintligt lager. Kostnaden a/ =llverka en enhet i vecka t är c t. Vid produk=on används en maskin vars kapacitet är M =mmar varje vecka. För a/ =llverka en enhet vecka t så går det åt h t =mmar. Behöver man y/erligare maskin=mmar kan man leasa en maskin för k kr/=mme. Lagret har en kapacitet på S produkter och det kostar p kronor a/ lagra en enhet från en vecka =ll nästa. Ini=allagret (det som finns kvar i slutet av vecka t=0) betecknas L_init. Formulera problemet som e/ linjärt op=meringsproblem T 2.2 TAOP14: Föreläsning 2 16 LP-modell, produk=onsplanering II min z = 3 c t x t + p L t + k t=1 t=1 t=1 3 3 y t då L t S, t =1,2,3 h t x t M + y t, t =1,2,3 L t 1 + x t d t = L t, t =1,2,3 L 0 = L _init x t, y t 0, t = 1,2,3 L t 0, t = 0,1,2,3 8

TAOP14: Föreläsning 2 17 LP-modell, matrisform max z = c T x då Ax b x 0 OBS: I denna modell finns både = - villkor och - villkor x = ( x 1 x 2 x 3 L 0 L 1 L 2 L 3 y 1 y 2 y 3 ) T c = ( c 1 c 2 c 3 0 p p p k k k ) T b = ( S S S M M M d 1 d 2 d 3 L _init ) T TAOP14: Föreläsning 2 18 LP-modell, matrisform A = 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 h 1 0 0 0 0 0 0 1 0 0 0 h 2 0 0 0 0 0 0 1 0 0 0 h 3 0 0 0 0 0 0 1 1 0 0 1 1 0 0 0 0 0 0 1 0 0 1 1 0 0 0 0 0 0 1 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 9

TAOP14: Föreläsning 2 19 Kom ihåg! Skilj på parametrar (numerisk data) och variabler (det vi ska fa>a beslut om). I en LP-modell får variabler inte mul=pliceras eller divideras med varandra! I bivillkoren, skilj på: - e/ villkor för varje index ( ) - summera över index ( ) TAOP14: Föreläsning 2 20 Matema=sk modell AMPL-modell AMPL = modelleringsspråk som används för a/ formulera en matema=sk modell så a/ e/ datorprogram, tex CPLEX, kan förstå den. Skrivs i en vanlig texpil. Två strategier: Alterna=v 1: Modell och data =llsammans Alterna=v 2: Modell och data var för sig 10

TAOP14: Föreläsning 2 21 AMPL Alterna=v 1: Alterna=v 2: max z = 30x 1 + 20x 2 max z = X j2j c j x j då 4x 1 + 3x 2 apple 240 2x 1 + 2x 2 apple 140 x 1 apple 40 x 1, x 2 0 då X a ij x j apple b i, i 2 I j2j x j 0, j 2 J Modell och data =llsammans. Enkelt för små problem. Modell och data var för sig. Smidigare för stora problem, mer generellt. TAOP14: Föreläsning 2 22 AMPL-modell, alt. 1 # Variabeldefinition var x1 >= 0; var x2 >= 0; Tecknet # används framför kommentarer # Målfunktion maximize z : 30*x1 + 20*x2; # Bivillkor subject to Avd_tid1 : 4*x1 + 3*x2 <= 240; Avd_tid2 : 2*x1 + 2*x2 <= 140; Maxproduktion : x1 <= 40; 11

TAOP14: Föreläsning 2 23 AMPL-modell, alt. 2, modell set PRODUKTER; set AVDELNING; # Har olika produkter # Har olika avdelningar param Vinst{ PRODUKTER }; # Täckningsbidraget param Maxtid{ AVDELNING }; # Tidstillgång, avd. param a{ PRODUKTER, AVDELNING }; # Tidsåtgång param Maxprod{ PRODUKTER }; # Maxtillverkning var x{ PRODUKTER } >= 0; # Variabeldefinition TAOP14: Föreläsning 2 24 AMPL-modell, alt. 2, modell maximize z : sum{ i in PRODUKTER } Vinst[i]*x[i]; subject to Namn på villkoret För varje... Avd_tid{ j in AVDELNING }: sum{ i in PRODUKTER } a[i,j]*x[i] <= Maxtid[j]; Maxproduktion{i in PRODUKTER}: x[i] <= Maxprod[i]; Summera över... 12

TAOP14: Föreläsning 2 25 AMPL-modell, alt. 2, data set PRODUKTER := p1 p2; set AVDELNING := m1 m2; param : Vinst Maxprod := p1 30 40 p2 20 1000 ; param : Maxtid := m1 240 m2 140 ; Här specificeras: 2 produkter 2 avdelningar M=1000, ett tillräckligt stort tal param a : m1 m2 := p1 4 2 p2 3 2 ; TAOP14: Föreläsning 2 26 AMPL-modell CPLEX Vi har en modell- och en datafil som beskriver vårt problem. Hur få datorn a/ lösa det? modellfil: mi/problem.mod kommandofil: mi/problem.run datafil: mi/problem.dat 13

TAOP14: Föreläsning 2 27 Kommandofil reset; # nollställer tidigare beräkningar options solver cplex ; # väljer lösare model exempel1.mod ; # väljer modell data exempel1.dat ; # väljer data solve; # löser problemet # skriver resultatet till fil display x > exempel1.res; display Avd_tid.slack > exempel1.res; TAOP14: Föreläsning 2 28 CPLEX resultatutskrid Alt. 1, modell och data i samma fil z = 1733.33 x1 = 40 x2 = 26.67 Avd_tid1.slack = 0 Avd_tid2.slack = 6.67 Alt. 2, separata filer z = 1733.33 x [ * ] := p1 40 p2 26.67; Avd_tid.slack [ * ] := m1 0 m2 6.67; 14

TAOP14: Föreläsning 2 29 resultatutskrid svar på den givna problemställningen Läs av resultatet och gör en rimlighetsbedömning: Är variabelvärdena rimliga...... i rela=on =ll vad som är lönsamt?... i rela=on =ll de villkor och krav som finns? Är målfunk=onsvärdet rimligt? Om möjligt, gör en överslagsräkning Jämför med en op=mis=sk ska/ning Jämför med en pessimis=sk ska/ning TAOP14: Föreläsning 2 30 Op=mis=sk ska/ning Måste all=d, med säkerhet, ge e/ värde som är bä/re än det op=mala målfunk=onsvärdet. Strategi: Använd enkel papper och penna räkning Ska/a variablerna så a/ de blir för bra Förenkla målfunk=onen så a/ den ger e/ för bra värde max z = 30x 1 + 20x 2 då 4x 1 + 3x 2 apple 240 2x 1 + 2x 2 apple 140 x 1 apple 40 x 1, x 2 0 T 2.3 15

TAOP14: Föreläsning 2 31 Op=mis=sk ska/ning Finns flera olika ska/ningar. Ju fler villkor man tar hänsyn =ll, desto bä/re (starkare) blir ska/ningen. En möjlighet: Ändra c 2 från 20 =ll 30, nu är x 1 och x 2 likvärdiga. Dessutom kräver x 2 mindre resurser än x 1.. Tillverka endast x 2 => x = (0,70) T, z opt = 30*70 = 2100 :- Eller: Ändra koefficient 4 =ll 3 i första bivillkoret: 3x 1 + 3x 2 <= 240 Bivillkoren 3*(x 1 +x 2 ) <= 240 och 2*(x 1 +x 2 ) <= 140 ger a/ vi kan =llverka totalt 70 enheter, och som mest 40 st av x 1 Ger en ska/ning: x = (40,30) T, z opt = 30*40 + 20*30 = 1800 :- TAOP14: Föreläsning 2 32 Pessimis=sk ska/ning Måste all=d, med säkerhet, ge en lösning som är =llåten med avseende på bivillkoren. Strategi: Använd enkel papper och penna räkning Förenkla problemet utan a/ fler lösningar än de ursprungliga blir =llåtna, troligen fås då färre =llåtna lösningar max z = 30x 1 + 20x 2 då 4x 1 + 3x 2 apple 240 2x 1 + 2x 2 apple 140 x 1 apple 40 x 1, x 2 0 Förenkla målfunk=onen så a/ den ger e/ för dåligt värde T 2.4 16

TAOP14: Föreläsning 2 33 Pessimis=sk ska/ning De finns återigen olika ska/ningar. Kom ihåg a/ varje =llåten lösning all=d ger en pessimis=sk ska/ning: x = ( 0, 0) T, z pess = 30*0 + 20*0 = 0 :- x = (40,0) T, z pess = 30*40 + 20*0 = 1200 :- Eller: Ändra koefficient 3 =ll 4 i första bivillkoret: 4x 1 + 4x 2 <= 240 Bivillkoren 4*(x 1 +x 2 ) <= 240 och 2*(x 1 +x 2 ) <= 140 ger a/ vi kan =llverka totalt 60 enheter, och som mest 40 st av x 1 Ger en ska/ning: x = (40,20) T, z pess = 30*40 + 20*20 = 1600 :- Slutsats: 1600 <= z* <= 1800 TAOP14: Föreläsning 2 34 Labora=on 1 SyDar =ll a/ ni ska komma igång med AMPL Gå från problemställning i ord =ll resultatutskrid Byggs upp stegvis Förberedelse inför projektuppgiden där ni ska lösa e/ något större problem 17

TAOP14: Föreläsning 2 35 Uppsummering Fö. 2 Modellering Parametrar, variabler, bivillkor, målfunk=on AMPL, modelleringsspråk för op=meringsproblem Sista sidorna på dagens föresläsning visar AMPLmodellen för problemet Produk=onsplanering II Upörliga exempel Modellering på Lisam: E/ dokument som försöker beskriva vad man bör tänka på vid modellering Work in progress, kom gärna med feedback och förslag på förbä/ringar TAOP14: Föreläsning 2 36 Produk=onsplanering II min z = 3 c t x t + p L t + k t=1 t=1 t=1 3 3 y t då L t S, t =1,2,3 h t x t M + y t, t =1,2,3 L t 1 + x t d t = L t, t =1,2,3 L 0 = L _init x t, y t 0, t = 1,2,3 L t 0, t = 0,1,2,3 Behöver skapa tre filer. kommandofil: exempel2.run modellfil: exempel2.mod datafil: exempel2.dat 18

TAOP14: Föreläsning 2 37 modellfil, del 1 set produkter; # Olika produkter param T; # Antal veckor param c{produkter}; # Produktionskostnad param Efterfrågan{1..T} # Efterfrågan varje vecka param p; # Lagerkostnad param k; # Leasingkostnad param M; # Maskinkapacitet param h{1..t}; # Åtgång vid tillverkning param S; # Lagerkapacitet param L_init; # Initiallager TAOP14: Föreläsning 2 38 modellfil, del 2 # Antal producerade produkter vecka t: var x{1..t} >= 0; # Antal produkter i lager vecka t: Var L{0..T} >= 0; # Antal leasingtimmar vecka t: Var y{1..t} >=0; 19

TAOP14: Föreläsning 2 39 modellfil, del 3 minimize z: sum{t in 1..T} (c[t]*x[t] + sum{t in 1..T} p*l[t] + sum{t in 1..T} k*y[t]); subject to Lagerkapacitet{t in 1..T} : L[t] <= S; Maskintid{t in 1..T} : h[t]*x[t] <= M + y[t]; Lagerbalans{t in 1..T}: L[t-1] + x[t] - d[t] = L[t]; Init_lager : L[0] = L_init; 20