Beboerinformation januar/februar 2015
Transcription
Beboerinformation januar/februar 2015
Emneopgave: Lineær- og kvadratisk programmering: LINEÆR PROGRAMMERING I lineær programmering løser man problemer hvor man for en bestemt funktion ønsker at finde enten en maksimering eller en minimering under nogle betingelser, altså en optimal løsning på et problem. Maksimum og minimum bruger vi når vi vil finde en maksimering af f.eks. omsætning eller indtægter, eller f.eks. minimere omkostninger ved fremstillingen af produkter. Betingelserne skrives y > ax + b eller y < ax + b De rette linjer vil i de fleste tilfælde (de tilfælde hvor der er en optimal løsning) omkredse et område ind mod xog y-aksen, kaldet vores polygonområde eller mulighedsområde. Det er inden for dette område at alle de gyldige løsninger på problemet findes. Den optimale løsning findes for lineær programmering altid i et af hjørnepunkterne. Objektfunktionen er forskriften for den lineære programmeringsfunktion z, som også er navnet på den tredjeakse i koordinatsystemet. Til vores funktion z stilles der nogle ”begrænsninger”. Det skrives u.b., som står for at vores objektfunktion z er under betingelse af de nævnte begrænsninger. Polygonområdet (eller mulighedsområdet) er det område vores begrænsninger giver os, f.eks. det område hvor vores produktion, omsætning eller omkostninger ligger. Indenfor dette område er det hjørnerne der opstår i skæringerne mellem vores begrænsninger, hvor vi oftest finder vores maksimum eller minimum, i punktet hvor begrænsningerne skære hinanden eller der hvor de skære akserne x1 eller x2. Hvilket et af disse hjørner vores min. eller maks. ligger i, bestemmes af vores niveaulinje. Niveaulinjer (eller –kurver, generelt) svarende til niveauet t (som er en konstant). Det skrives: ax + by + c = t. Det vi er interesseret i ved denne niveaulinje er dens hældning. Den bestemmer hvor vores max eller min ligger. Hvis vi skal finde et maksimum flytter vi t med en konstant hældning fra f.eks. t(0,0) ud til det yderst 1 liggende punkt inden for polygonområdet. Og omvendt hvis vi vil finde minimum sætter vi vores N(t) i et ydre punkt og bestemmer hvilket punkt der ligger længst væk fra N(t) som vores min. Niveaulinjen regner vi os frem til ved at isolere y efter vi har sat z=0. Problematikker ved lineær programmering: Der er 4 forskellige løsninger: 1. LP-problemet har én optimal løsning: Denne løsning er nævnt i overstående. Den forekommer når niveaulinjen og vores grænseværdier møder hinanden i et yderpunkt. Det punkt er så den optimale løsning. 2. Problemet har uendelig mange optimale løsninger (øverst til højre): Vores niveaulinje er parallel med en af vores begrænsninger og derfor ligger vores minimum eller maksimum i alle punkterne på denne linje, og der altså uendeligt mange optimale løsninger. 3. Problemet har ingen brugbare løsninger (midterst t.h.): Vores begrænsningers polygonområde ligger på forskellige sider af vores begrænsningslinjer. Begrænsningerne definerer altså ikke et mulighedsområde, og der vil ikke være nogen optimal løsning. 4. Problemet er ubegrænset (nederst t.h.): Her er vores polygonområde ubegrænset i den retning vores niveau linje går mod så derfor er vores min eller max punkt udefineret. 2 SIMPLEX METODEN En metode til at løse lineære programmerings-problemer er simplex metoden. Fordelen ved simplex metoden er at man kan løse LP-problemer med mange flere variabler end man kan hvis man løser dem grafisk, vha. niveaukurver. Da den optimale løsning på et lineært programmerings-problem som sagt altid ligger i et hjørnepunkt mellem 2 begrænsninger kan man, i stedet for at sidde og tjekke hver enkelt hjørnepunkt, med simplex metoden hele tiden bestemme om det punkt man er i, er den optimale løsning. Hvis ikke det er, vil et af hjørnepunkterne ved siden af give en større objektfunktion. Med simplex metoden kan man altså systematisk undersøge hjørnepunkterne indtil den optimale løsning er fundet. Simplex metoden opererer ud fra 5 trin, som her vil blive illustreret vha. et eksempel. max z 3 x1 u.b. x1 x2 2 x3 x2 x3 5 2 x2 x3 4 3 x1 x1 , x2 , x3 0 1. trin: I første trin introducerer vi slack variabler, her uligheder i begrænsningsområdet til ligninger. max z 3x1 u.b. x1 x2 2 x3 x2 x3 2 x2 x3 5 x5 4 x6 x1 x1 , x4 x2 , x3 . De indsættes med det formål at gøre vores 3 0 2. trin: I næste trin opstiller vi et såkaldt simplex tableau (tabel). Et simplex tableau har til formål at opstille en løsning på vores problem der overholder alle begrænsningerne, på en praktisk måde. Øverst i tableauet skriver vi en ligning for hver af begrænsningerne, nederst skrives objektfunktionen. x4 x5 x6 z 5 x1 4 2 x2 3 x1 0 3x1 x2 x3 x3 x2 2 x3 3 Variablerne på venstresiden af lighedstegnene kaldes basen, og de er forskellige fra 0. Alle variablerne på højresiden kaldes non-basen, og de er lig med 0. 3. trin: Det 3. trin er at tjekke om vores objektfunktion har nået maksimum. Det tjekker man ved at observere den nederste ligning i simplex tableauet, altså objektfunktionen – hvis der er en eller flere variabler med en positiv koefficient, kan objektfunktionen maksimeres yderligere. Hvis alle variablerne har negative koefficienter har objektfunktionen nået et maksimum, og man kan gå direkte til trin 5. Dette skyldes at hvis man maksimerer en variabel med en negativ koefficient, vil det sænke objektfunktionen. En variabel med en positiv koefficient vil derimod øge objektfunktionen. I vores eksempel kan det ses at maksimum endnu. har koefficienten +3, og har koefficienten +2 – vi har derfor ikke nået 4. trin: Det næste trin er at maksimere en af de variabler med en positiv koefficient i objektfunktionen. Det gøres ved først at undersøge hvor stor den kan blive i hver enkelt ligning og samtidigt overholde at ingen af variablerne i basen må være 0 eller under. Derefter isoleres variablen i den af ligningerne hvor begrænsningen er stærkest. I vores eksempel kan både og maksimeres, her er valgt. Den første ligning giver en begrænsning på 5 til , og den tredje giver en begrænsning på 3 til . Den stærkeste begrænsning til er altså 3, og vi isolerer så i 3. ligning og får . Dette udtryk substitueres nu for i de andre ligninger, og vi får følgende udregninger: ( ( ) ) Med disse udregninger kan vi nu opstille 2. simplex tableau: x1 x4 x5 z 3 x6 2 x2 4 2 x2 9 x2 x3 x3 2 x3 x6 3x6 På samme måde som i trin 3, tjekker vi nu om objektfunktionen har nået maksimum. Da der stadig er en variabel med en postiv koefficient, , er udtrykket ikke ved sit maksimum endnu. Denne variabel maksimerer vi nu, på samme måde som vi gjorde før. Den anden ligning giver en begrænsning på 2, den tredje ligning giver en begrænsning på 4. Den stærkeste begrænsning er 2, og isoleres så i 2. ligning og får Dette substitueres så for i de andre ligninger, og vi får: ( ) ( ) 4 Og vi kan nu opstille 3. simplex tableau: x1 x3 x5 z 3 x6 2 x2 2 3x2 13 x2 x4 x4 2 x4 x6 x6 x6 Da under vores omskrivninger har skiftet fortegn er der igen en variabel med en positiv koefficient, og vi gentager trin 4 for det her simplex tableau. Da anden ligning ikke sætter nogen begrænsning på og vi får ligningen , isoleres den i 3. ligning som giver en begrænsning på , . Ligesom før, substitueres det for ( ) ( ) i de andre ligninger. Og 4. simplex tableau opstilles: x1 3 x6 x2 x3 z 2 1 x4 3 3 8 2 x4 3 3 41 5 x4 3 3 1 x5 3 1 x5 3 1 x5 3 1 x6 3 2 x6 3 4 x6 3 5. trin: Da der nu ikke er flere variabler med positive koefficienter i objektfunktionen er udtrykket maksimeret, og vi har den optimale løsning til vores problem. Variablerne i non-basen, variablerne på højre side af lighedstegnet, er alle lig 0. Indsættes dette i det 4. simplex tableau, fås det at og . For en sikkerheds skyld bør beregningerne tjekkes igennem ved at indsætte vores fundne værdier i vores begrænsninger. max z 3 x1 u.b. x1 x2 2 x3 x2 x3 5 2 x2 x3 4 3 x1 x1 , x2 , x3 0 5 Det kan da ses at begrænsningerne er overholdt, og dette er netop den optimale løsning. KVADRATISK PROGRAMMERING Kvadratisk programmering beskæftiger sig som lineær programmering med at beregne ekstrema for objektfunktioner, hvis tilgængelige løsningsmængde begrænses. Kvadratisk programmering adskiller sig fra lineær programmering ved at beskæftige sig med objektfunktioner og evt. begrænsninger, hvor en eller flere variable optræder i anden potens. Dette er i økonomisk sammenhæng typisk relevant ved bearbejdning af problemstillinger, der omhandler prisdifferentiering på flere markeder, hvor et eller flere kendetegnes ved monopollignende forhold, hvilket bør betyde, at efterspørgslen falder proportionalt med effektorens udbud, således at prisen ikke er konstant, men skal udtrykkes som en funktion af solgt kvantum. Betingelserne for prisdifferentiering kendetegnes ved forskellige efterspørgselskurver på markederne og adskillelsen af disse. I vores arbejde beskæftiger vi os kun med op til to uafhængige variable, der så kommer til at repræsentere to produkter, der afsættes på to separate markeder. I forbindelse med prisdifferentiering resulterer dette i følgende fire kombinationer af parametrene fuldkommen konkurrence (f) og monopol (m): Første mulighed er to produkter, der afsættes på hvert sit marked, på hvilke en ækvilibriumspris har indstillet sig som følge af fuldkommen konkurrence (altså ff på fig. 1). Endvidere eksisterer muligheden, at det ene produkt skal afsættes på et marked med fuldkommen konkurrence, mens det andet skal afsættes på et med monopoltilstande (fm og mf på fig. 1), og til sidst har vi mulighed fire, at begge produkter afsættes på hvert sit marked, hvorpå der hersker monopoltilstande (mm på fig. 1). 1 2 3 4 ff fm mf Mm Fig. 1 6 Første mulighed medfører en objektfunktion, hvis uafhængige variable kun forefindes i første potens grundet den konstante pris, og falder følgelig under den lineære programmerings domæne. Mulighed to og tre er ækvivalente og vil resultere i en kriteriefunktion, hvis graf vil være en parabel (fig. 2), og endelig har vi den fjerde mulighed med to monopolmarkeder, hvilket vil føre til en kriteriefunktion, hvis afbildning bliver cirkulær (fig. 4) eller elliptisk (fig. 3). Mulighed 4: mm fig. 3 (ovenfor): En hypotetisk ellipse, hvis punktmængdekan beskrives ved flg. sammenhæng: Mulighed 2+3: mf fig. 2 (ovenfor): Eksempler på parabelbuer. Parabler har standardforskriften: fig. 4 (til højre): En hypotetisk cirkel, hvis punktmængden kan beskrives ved: 7 Fremgangsmåden for løsning af kvadratiske programmeringsproblemer er den samme som for lineære, nemlig: 1) Definer de uafhængige variable x og y 2) Formuler begrænsninger i produktionsfaktorerne som uligheder for x og y 3) Indtegn polygonområdet svarende til løsningsmængden for ulighederne (mulighedsområdet) 4) Formuler kriteriefunktionen (det udtryk, der skal optimeres) 5) Bestem og indtegn niveaukurver og marker evt. niveauets retning med en pil for at lette forståelsen af hvorledes en udvikling ændrer kriteriefunktions deling af punkter med mulighedsområdet. 6) Konkluder vha. niveaukurverne og mulighedsområdet den kombination af x og y, der optimerer kriteriefunktionen. Kilde for ovenstående: s. 127 i Matematik A, Hansen et al. (lettere parafraseret) Se evt. eksempler s. 127-136 8 a) Den samlede omsætning må kunne udtrykkes som summen af varernes pris multipliceret med afsat mængde, hvilket resulterer i følgende: ( ) ( ) ( ) b) Først vil jeg omformulere N(t), indtil den minder om ellipse-formlen, da vi grundet lineær prisudvikling for begge varer må antage to monopolmarkeder: For t = 25200 (indtegnet på fig. 5) gælder det, at: Hvilket var, hvad søgtes vist. 9 c) Grundet t's entydigt negative koefficienter sammenholdt med dens placering i nævner (nævnerne er jf. ellipsens ligning fig. 3 kvadratet på halvaksernes længde og dermed bestemmende for ellipsens dimensionering) vil en forøgelse af t forårsage en reduktion af ellipsens omkreds, hvilket betyder, at ellipsens centrum (60;75) er maksimum for kriteriefunktionen og dermed den ønskede, optimale fordeling af varerne, altså 60 x A og 75 x B. Da (60;75) er beliggende indenfor den betingende uligheds punktmængde, er den en gyldig løsning, og vi har fundet, hvad vi ville. Fig. 5: Skraveret mulighedsområde samt niveaukurven for N(25200) med indtegning af halvakser, hvis skæringspunkt angiver centrum for ellipsen og som nævnt i opgave c, maksimum for kriteriefunktionen. 10