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

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

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

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

Tentamensinstruktioner

TNK049 Optimeringslära

Laborationsinformation

Tentamensinstruktioner

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

MIO310 OPTIMERING OCH SIMULERING, 4 p

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

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:

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

Laboration 2 - Heltalsoptimering

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

TNSL05 Övningsuppgifter modellering

TAOP61/TEN 1 OPTIMERING AV REALISTISKA SAMMANSATTA SYSTEM

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

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:

Tentamensinstruktioner

Tentamensinstruktioner

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

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

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

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

1 LP-problem på standardform och Simplexmetoden

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

Tentamensinstruktioner. Vid skrivningens slut

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

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

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

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.

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER

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

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

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

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

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER

TAOP33/TEN 2 KOMBINATORISK OPTIMERING GRUNDKURS

MIO310 OPTIMERING OCH SIMULERING, 4 p

TAOP86/TEN 1 KOMBINATORISK OPTIMERING MED

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

Tentamensinstruktioner. När Du löser uppgifterna

TAOP86/TEN 1 KOMBINATORISK OPTIMERING MED

Optimering med bivillkor

MIO310 OPTIMERING OCH SIMULERING, 4 p

TNK047 [TEN1] OPTIMERING OCH SYSTEMANALYS

Tentamensinstruktioner. När Du löser uppgifterna

MIO310 OPTIMERING OCH SIMULERING, 4 p

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

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

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

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

Tentamensinstruktioner. När Du löser uppgifterna

Tentamensinstruktioner

Optimeringslära Kaj Holmberg

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

Tentamensinstruktioner. När Du löser uppgifterna

Dynamisk programmering. Dynamisk programmering. Dynamisk programmering. Dynamisk programmering

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

TAOP61/TEN 1 OPTIMERING AV REALISTISKA SAMMANSATTA SYSTEM

TNK049 Optimeringslära

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

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

Föreläsning 13: Multipel Regression

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER

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

Optimeringslära Kaj Holmberg

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

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

TAOP33/TEN 2 KOMBINATORISK OPTIMERING GRUNDKURS

TAOP86/TEN 1 KOMBINATORISK OPTIMERING MED

SF1545 Laboration 1 (2015): Optimalt sparande

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

TNK049 Optimeringslära

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

Optimering med bivillkor

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

Optimeringslära Kaj Holmberg

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

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER

TNSL05, Optimering, Modellering och Planering Gruppuppgift 3

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

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

Transkript:

TAOP52: Föreläsning 2 Att modellera och lösa LP-problem TAOP52: 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

TAOP52: 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 TAOP52: Föreläsning 2 4 Problemställning i ord matematisk modell Beslut Variabler Mål Målfunk=on Begränsningar Bivillkor 2

TAOP52: 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 TAOP52: 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

TAOP52: 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 TAOP52: 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

TAOP52: 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 TAOP52: 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

TAOP52: 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! TAOP52: Föreläsning 2 12 Formulering av bivillkor Produk=onsplaneringsproblem: I produkter som =llverkas ( i = 1,,20 ) K kunder som beställer ( k = 1,...,10 ) T =dsperioder ( t = 1,...,5 ) Förutsä/ningar: Daglig transportbegränsning: b ikt Vecko=llgång av varje enskild produkt: s i Fabrikens totala =llverkningskapacitet: C Daglig =llverkningskapacitet: M EDerfrågekrav (som minst) från varje kund: d ik 6

TAOP52: Föreläsning 2 13 Formulering av bivillkor Variabeldefini=on: x ikt = Antal produkter i som =llverkas och skickas =ll kund k under arbetsdag t, i = 1,,20 k = 1,...,10 t = 1,...,5 Formulera följande bivillkor: a) Det går inte a/ transportera fler än b ikt enheter av produkt i =ll kund k en viss dag t b) Fabriken kan =llverka som mest s i enheter av produkt i varje vecka c) Den totala =llverkningen av produkter i fabriken under en vecka kan inte övers=ga C enheter T 2.1 TAOP52: Föreläsning 2 14 Formulering av bivillkor d) Fabriken har en daglig =llverkningskapacitet på totalt M enheter (oavse/ vilka produkter som =llverkas) e) Varje kund k kräver a/ minst d ik enheter av produkt i skickas =ll dem varje vecka f) Kund k = 5 vill a/ fabriken skickar lika många enheter av produkt 3 och produkt 7 under dag t = 2 g) Som mest 30% av den totala dagsproduk=onen får utgöras av produkt i = 8 7

TAOP52: 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 a/ minimera de totala kostnaderna som e/ linjärt op=meringsproblem. T 2.2 TAOP52: 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

TAOP52: 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 TAOP52: 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

TAOP52: 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 ( ) TAOP52: 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

TAOP52: 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. TAOP52: 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

TAOP52: 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 TAOP52: 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

TAOP52: 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 ; TAOP52: 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

TAOP52: 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; TAOP52: 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

TAOP52: 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 TAOP52: 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

TAOP52: 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 :- TAOP52: 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

TAOP52: 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 TAOP52: 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

TAOP52: 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 TAOP52: 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

TAOP52: 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 TAOP52: 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

TAOP52: Föreläsning 2 39 modellfil, del 3 minimize z: sum{t in 1..T} c[t]*x[t] + p*sum{t in 1..T} L[t] + k*sum{t in 1..T} 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