Lineær programmering. Maksimer c T u.b.b. A b hvor > 0. Vores metode er også nytteløs her. Ekstrema- teori og praksis
|
|
|
- Inger Asmussen
- 9 år siden
- Visninger:
Transkript
1 Lineær programmering Ekstrema- teori og praksis Maksimer c T u.b.b. A b hvor > 0 Vores metode er også nytteløs her MAT3, EFTERÅR 2011 GROUP G3-112 INSTITUT FOR MATEMATISKE FAG AALBORG UNIVERSITET 16. DECEMBER 2011
2
3 Titel: Lineær programmering Tema: Ekstrema- teori og praksis Projektperiode: MAT3, efterår 2011 Projektgruppe: G3-112 Gruppemedlemmer: Institut for Matematiske Fag Aalborg Universitet Frederik Bajers Vej 7G DK-9220 Aalborg Øst Tlf.: Synopsis: Michael Garde Haixia Wen Thomas Rune Hansen Anette Westberg Hansen Kristian Nørgaard Jakobsen Denne rapport er skrevet under semestertemaet Ekstrema - teori og praksis og har til formål at studere optimering af funktioner af flere variable med fokus på lineære programmer og løsning af disse. I særdeleshed sigtes der mod en dybere forståelse af simplex metoden. Vi viser derudover, at optimale løsninger ligger i den tilladelige mængdes hjørnepunkter, og argumenterer for, at simplex metoden returnerer sådanne løsninger. Til sidst anvender vi teorien og løser et diætproblem, baseret på konkrete data, der formuleres som et lineært program med 68 variabler og 22 bibetingelser. Vejleder: Mikkel Haggren Brynildsen Oplagstal: 8 Antal sider: 54 Bilag: 1 Afsluttet: 16. december 2011 Rapportens indhold er frit tilgængeligt, men offentliggørelse (med kildeangivelse) må kun ske efter aftale.
4
5 Forord Denne projektrapport blev udformet i perioden fra 2. september til 16. december Den er resultatet af et studie udført af 5 matematikstuderende på 3. semester på Institut for Matematiske Fag ved Aalborg Universitet og er skrevet under projekttemaet Ekstrema, teori og praksis. Temaet for denne rapport er Lineær programmering. Hovedformålet er at studere optimering af funktioner af flere variable med fokus på lineære programmer og løsning af disse. I særdeleshed sigtes der herunder mod en dybere forståelse af den mest udbredte løsningsmetode simplex metoden. Forsiden er inspireret af
6
7 INDHOLD Indhold Forord Indhold iii v Indledning 1 1 Grundlæggende teori Mængder Euklidisk rum Åbne og lukkede kugler Åbne og lukkede mængder Begrænsede mængder Indre punkter Kontinuitet Konvekse mængder Optimering Ekstrema for differentiable funktioner af én variabel Ekstrema for differentiable funktioner af flere variable Ekstrema for reelle funktioner i R n Ekstrema for differentiable funktioner i R n Nødvendige og tilstrækkelige betingelser for ekstremum Optimeringsproblemer og løsningsmetoder Lineære optimeringsproblemer Ikke-lineære optimeringsproblemer Lineær programmering Definition af et kanonisk lineært program Problematikker i lineære programmer Formulering af et lineært program Ækvivalente omskrivninger Regneregler Standard form Dualitet Eksistensen af en optimal løsning Basisløsninger Geometrisk løsningsmetode Simplex metoden INDHOLD v
8 3.7.1 Historie Overblik Simplex Algoritmen Problematikker i simplex algoritmen Simplex metodens validitet Diætproblemet Databeskrivelse Formulering af diætproblemet som et lineært program Begrænset udsnit af diætproblemet Formulering i Excel Resultater Diskussion og perspektivering Opsummering 49 A Bilag 51 A.1 Ekstrema for åbne delmængder i R n Litteratur 53
9 INDHOLD Indledning Optimering er en matematisk disciplin, der finder stor anvendelse på en lang række områder. I alle tænkelige sammenhænge kan der opstå behov for at finde en optimal løsning på et givet problem. Man ønsker at minimere eller maksimere udfaldet af en situation, der typisk er underlagt nogle betingelser. Forfølgelsen af dette mål starter i formuleringen af det pågældende problem som en matematisk funktion underlagt matematiske betingelser. Arten af den matematiske formulering, man giver problemet, viser sig at have stor betydning for det mulige i at identificere og beregne den eftersøgte løsning og for de metoder, man har til rådighed. I denne rapport beskæftiger vi os med den klasse af optimeringsproblemer, der kaldes lineære programmeringsproblemer, og vi fokuserer navnligt på én konkret løsningsmetode - simplex metoden. Simplex metoden er interessant, da det er den mest udbredte lineære løsningsmetode. Dette studie sigter både på en teoretisk redegørelse for grundlaget af eksistensen af optimale løsninger, og teorien eksemplificeres i et tænkt diætproblem baseret på data fra Danmarks Statistik og Fødevaredatabanken ved DTU. Det opstillede lineære diætproblem løses ved hjælp af Microsoft Excels Problemløser, som anvender simplex metoden. Læsevejledning Da rapporten behandler emner i matematik relevant for Matematiks andet studieår ved Aalborg Universitet, anbefales det, at man er bekendt med emner fra lineær algebra (se evt. [Lay, 2006a] el. [Spence et al., 2007]) og calculus (se evt. [Adams and Essex, 2009] el. [Edwards and Penney, 2008]), foruden matematik på gymnasialt niveau. Der er i rapporten krydshenvisninger til andre dele af rapporten. Der er gjort brug af dette for at gøre det nemmere for læseren at finde relateret teori. Henvisninger er skrevet i rapportens tekst og kan eksempelvis være: se afsnit 2.2. Henvisninger til kilderne i litteraturlisten er angivet ved [efternavn, årstal], f.eks. [Wade, 2010, s. 288], hvor der i dette tilfælde er refereret til side 288. Literaturlisten er sorteret i alfabetisk orden efter kildeforfatternes efternavne. Vi refererer til figurer, tabeller, sætninger og definitioner m.m. med f.eks. sætning 1.9, og ligninger får tildelt nummer på samme måde men med parentes om. F.eks. se (3.1). Kapitel 1 til 3 udgør rapportens teoretiske redegørelse, der bevæger sig fra det mere INDHOLD 1
10 INDHOLD grundlæggende og generelle til det mere specifikke. Kapitel 1 giver forudsætninger for at påbegynde et studie af ekstrema for funktioner. Hernæst følger i kapitel 2 en generel indførelse i, hvordan man kan identificere og karakterisere ekstrema. Endelig indsnævrer vi i kapitel 3 optimeringsstudiet til lineær programmering samt den specifikke løsning af disse ved hjælp af simplex metoden. Den netop gennemgåede teori anvendes og demonstreres herefter som problemløsende værktøj i kapitel 4. Der formuleres og løses et større lineært program på baggrund af et tænkt optimeringsproblem. Dette diætproblem, formuleret i Excel, er at finde på den vedlagte cd-rom eller kan downloades på Afslutningsvis opsummeres rapportens hovedpunkter. Vedlagt herefter er et bilag, der indeholder teori, som er relevant, men ikke essentielt for rapportens indhold. Sidst i rapporten findes litteraturlisten. Kildekritik Størstedelen af kilderne, som benyttes i denne rapport, er lærebøger. De mest anvendte kilder af denne art er [Wade, 2010] og [Lay, 2006b]. En central kilde er desuden [Goemans, 1994], som er undervisningsnoter til en forelæsning på Massachusetts Institute of Technology omhandlende lineær programmering. I kapitel 4 benyttes to kilder som base for de data, som diætproblemet bygges op omkring. De omtalte data stammer fra [Danmarks Statistik, 2010] og [Saxholt et al., 2009]. I den første af kilderne, der er en fødevareprisliste, er dataene forældede, og listen er begrænset. Den anden kilde, som lister fødevarer i sammenhæng med deres næringsindhold, er mere repræsentativ, da den omfatter over 1000 forskellige fødevarer. En større diskussion af disse forefindes i afsnit INDHOLD
11 1 Grundlæggende teori Forud for rapportens overordnede emne optimering med hovedfokus på lineær programmering studeres først en række tilgrundliggende emner for at få en bedre forståelse for den lineære programmerings grundlag. Dette kapitel udgør starten af dette studie, og vi træder således et skridt tilbage og opbygger et fundament baseret på mængder, kontinuitet af funktioner og konvekse mængder. Formålet er at give et mere solidt grundlag for den videre forståelse af emnerne i kapitel 2, der omhandler optimering generelt. 1.1 Mængder Mængder er et fundamentalt emne i mange af områderne i denne rapport. Eksempelvis er reelle funktioner af flere variable (se afsnit 2.2 på side 14) defineret på mængder (af punkter) i R n analogt med måden, hvorpå funktioner af én variabel er defineret på reelle intervaller. Det antages, at læseren er bekendt med basale egenskaber omkring mængder, og dette afsnit fokuserer derfor blot på at introducere relevante emner til senere brug Euklidisk rum Dette afsnit er baseret på [Wade, 2010, s ] Et Euklidisk rum er R n, hvor der også gælder det Euklidiske skalarprodukt x y := x 1 y 2 + x 2 y x n y n, hvor x = (x 1,..., x n ), y = (y 1,...,y n ) R n. Normen x a er den Euklidiske afstand imellem punkterne x og a, som er defineret ved: dist(x,a) = x a = (x 1 a 1 ) 2 + (x 2 a 2 ) (x n a n ) Åbne og lukkede kugler Dette og det næste afsnit er baseret på [Wade, 2010, s. 288]. Vi indfører begrebet kugle, som rummer alle punkter indeholdt i kuglen og evt. på kuglefladen. 1. Grundlæggende teori 3
12 1.1 Mængder DEFINITION 1.1 Lad a R n i. For ethvert r > 0, er en åben kugle med centrum i a og radius r mængden af alle punkter givet ved B r (a) := {x R n : x a < r}. ii. For ethvert r 0, er en lukket kugle med centrum i a og radius r mængden af alle punkter givet ved B r [a] := {x R n : x a r}. Vi kalder alle punkter i {x : x a = r} for randpunkter eller ofte blot randen af kuglen. En åben kugle B r (a) rummer dermed alle punkter x, der ligger indenfor randen af kuglen, men ingen af punkterne på randen, hvorimod den lukkede kugle B r [a] indeholder alle punkter indenfor og på randen. Bemærk at hvis n = 1, så er en åben kugle B r (a) med centrum i a og radius r intervallet; (a + r, a r) i R Åbne og lukkede mængder Vi får brug for en notation omkring mængder, som er analog med åbne og lukkede intervaller i R. Med følgende definition er det muligt at vise, hvorvidt en mængde er åben eller lukket. DEFINITION 1.2 Lad n N. i. En delmængde V af R n siges at være åben (i R n ), hvis og kun hvis der for alle a V, eksisterer et ε > 0, således at B ε (a) V. ii. En delmængde E af R n siges at være lukket (i R n ), hvis og kun hvis E c := R n \ E er åben. Med (i) forstås, at en mængde V er åben, hvis og kun hvis man i alle punkter i V kan lave en åben kugle som er indeholdt i V. (ii) fortæller, at en mængde E er lukket, hvis og kun hvis komplementærmængden E c er åben Grundlæggende teori
13 1.1 Mængder Begrænsede mængder Dette afsnit er baseret på [Wade, 2010, s. 16, 20]. For at kunne beskrive en mængde som værende begrænset, defineres først den øvre og den nedre grænse for mængden. DEFINITION 1.3 Lad E R være en ikke-tom mængde. i. Mængden E siges at være opadtil begrænset, hvis og kun hvis der eksisterer et M R, således at a M for alle a E, i hvilket tilfælde M kaldes en øvre grænse for E ii. Et tal s kaldes et supremum for mængden E, hvis og kun hvis s er en øvre grænse for E, og s M for alle øvre grænser M for E. (I dette tilfælde siger vi, at E har et endeligt supremum s og skriver s = sup E.) Vi kan nu afgøre, om en mængde har en øvre grænse, men for at kunne betegne en mængde som begrænset skal der også være en nedre grænse for mængden. DEFINITION 1.4 Lad E R være en ikke-tom mængde. i. Mængden E siges at være nedadtil begrænset, hvis og kun hvis der eksisterer et m R, således at a m for alle a E, i hvilket tilfælde m kaldes en nedre grænse for E ii. Et tal t kaldes et infimum for mængden E, hvis og kun hvis t er en nedre grænse for E, og t m for alle nedre grænser m for E. (I dette tilfælde siger vi, at E har et infimum t og skriver t = inf E.) Ud fra definition 1.3 og 1.4 defineres en begrænset mængde således: DEFINITION 1.5 Lad E R være en ikke-tom mængde. E siges at være begrænset, hvis der eksisterer både en nedre og en øvre grænse for E. Vi kender nu betingelserne for en begrænset mængde E. Der skal eksistere M, m R, således at m a M for alle a E. Hvis dette er tilfældet, så kaldes M den øvre grænse og m den nedre grænse for den begrænsede mængde E. 1. Grundlæggende teori 5
14 1.2 Kontinuitet I R har vi, at et interval I kaldes begrænset, hvis og kun hvis det har formen [a,b], (a,b), [a,b) eller (a,b] for et < a b <, i hvilket tilfælde a og b kaldes endepunkter for I. Begrænset mængde i R n En mængde E R n siges at være begrænset, hvis der findes r > 0, således at E B r (0). Det vil sige, at der for alle x E gælder x < r Indre punkter Dette afsnit er baseret på [Wade, 2010, s. 297, ]. Med følgende definition kan man se, at alle mængder E har en størst åben mængde indeholdt i E og en mindst lukket mængde, der indeholder E. DEFINITION 1.6 Lad E R n, hvor R n er et Euklidisk rum. i. Indre punkter af E er mængden E 0 := {V : V E og V er åbent på R n }. ii. Aflukningen af E er mængden E := {B : B E og B er lukket på R n }. E 0 er altid åben, og E er altid lukket. E 0 er den største åbne mængde, som er indeholdt i mængden E. E er den mindste lukkede mængde, som indeholder mængden E. Når E er en åben mængde, er E 0 = E. Når E er en lukket mængde, er E = E. Betragt et lukket interval [a,b]. E 0 af dette interval er (a,b), og E af intervallet er [a,b]. Bemærk at alle mængder E indeholder den tomme mængde, og at E er indeholdt i R n, hvor er en åben mængde, og R n er en lukket mængde. 1.2 Kontinuitet Dette afsnit er baseret på [Wade, 2010, s. 321, 85-86]. Vi har siden gymnasiet antaget, at en funktion er kontinuert på E R, hvis der findes et a E, og f (x) konvergerer mod f (a), når x konvergerer mod a for funktioner defineret på begge sider af a. I det følgende gives en mere generel definition af kontinuitet, som også gælder for funktioner defineret på kun en side af a Grundlæggende teori
15 1.2 Kontinuitet DEFINITION 1.7 Lad E R n, hvor E =, og f : E R m. i. f siges at være kontinuert i a E, hvis og kun hvis der for alle ε > 0 findes et δ > 0, således at x a < δ, og x E medfører f(x) f(a) < ε. ii. f siges at være kontinuert på E, hvis og kun hvis f er kontinuert i ethvert punkt x E. Når n = 1 og m = 1, har vi normal kontinuitet i R. I resten af dette afsnit betragter vi kun funktioner defineret på R. Figur 1.1 viser punkt (i) af definition 1.7 for en funktion defineret i R. y f (a) + ε f (a) f (a) ε f (x) a δ a a + δ x Figur 1.1: Illustration af punkt (i) i definition 1.7 På figur 1.2 på næste side ses grafen for f (x) med definitionsmængde i R. Grafen er ikke kontinuert i punktet a, da lim x a f (x) ikke eksisterer. Grunden til, at der ikke findes en grænseværdi for x gående mod a, er, at grafen gør et spring i punktet a. Desuden er den nederste del af grafen ikke defineret i a, og den øverste del er defineret i a. DEFINITION 1.8 Lad E R, E =. En funktion f : E R siges at være begrænset på E, hvis og kun hvis der findes et M R, således at f (x) M for alle x E. Med definition 1.7 og 1.8 har vi lagt op til en af de fundamentale sætninger indenfor kontinuitet, som viser, at en kontinuert funktion defineret på et lukket og begrænset interval altid er begrænset. 1. Grundlæggende teori 7
16 1.2 Kontinuitet y f (x) a x Figur 1.2: Diskontinuitet i punktet a. SÆTNING 1.9 (Ekstremværdisætning) Hvis I er et lukket, begrænset interval, og f : I R er kontinuert på I, så er f begrænset, og hvis M = sup x I f (x) og m = inf x I f (x) så findes der punkter x m, x M I, således at f (x M ) = M, og f (x m ) = m. Vi benytter i følgende bevis to sætninger, som udelades: Bolzano-Weierstrass sætning [Wade, 2010, s. 56] hvis en følge af reelle tal er begrænset, så har den en konvergent delfølge. Sammenligningssætningen [Wade, 2010, s. 50] hvis et x n [a,b] konvergerer mod et punkt c, så tilhører c intervallet [a,b]. BEVIS Antag, at f ikke er begrænset på I. Dette betyder, at der eksisterer et x n I, således at f (x n ) > n, hvor n N. Da I er begrænset, har {x n } en delfølge {x nk }, som konvergerer mod a, når k konvergerer mod. Da I er lukket, er a I, og f (a) R. Fra antagelsen f (x n ) > n, erstattes n med n k. Tages grænseværdien af f (x n ) > n for k gående mod, har vi f (a) =, hvilket er i modstrid med at a I og f (a) R. Altså er f begrænset på I. Vi mangler nu at vise, at der findes et x M I, således at f (x M ) = M. Antager man i stedet, at f (x) < M for alle x I, så er funktionen g(x) = 1 kontinuert og M f (x) dermed begrænset på I. Dette betyder at g(x) = g(x) C, hvor C > 0. Dermed er f (x) M 1 C for alle x I. Tag supremum af f (x) M 1 C for alle x I, og vi får M M 1 C < M, hvilket er en modstrid. Derfor findes der et x M I, således at f (x M ) = M. Man kan bruge et analogt argument til at bevise, at der findes et x m I, således at f (x m ) = m. M er altså maksimum, og m er minimum for en funktion defineret på et lukket, begrænset interval. Maksimums- og minimumsbegreberne studeres i større detalje i afsnit 2.1 på side Grundlæggende teori
17 1.3 Konvekse mængder 1.3 Konvekse mængder Dette afsnit bygger på [Christensen, 2004, Afsnit 0] og [Wade, 2010, s. 418]. En mængde C i et reelt vektorrum kaldes konveks, hvis den lige linje imellem alle par af punkter i C også er indeholdt i C. Dette gælder for R 2 såvel som for hele R n. På figur 1.3 vises en konveks henholdsvis ikke-konveks delmængde af R 2 : mæng- (a) Konveks de. (b) Ikke-konveks mængde. Figur 1.3: Illustration af konvekse og ikke-konvekse delmængder af R 2 [Wikimedia Commons, 2011]. Af andre konvekse mængder kan nævnes f.eks. regulære polygoner og polyedre. Regulære polygoner er plane n-kanter i R 2, hvor siderne er lige lange, og vinklerne mellem dem er ens, i modsætning til irregulære polygoner. Regulære polyedre er dermed rumlige n-kanter, dvs. i R 3, hvor de samme betingelser gælder. Men polygoner og polyedre behøver ikke at være regulære for at være konvekse. DEFINITION 1.10 Lad x 0, x 1 være punkter i R n. Linjen l i planen gennem punkterne x 0 og x 1 med retningsvektoren x 1 x 0 har parameterfremstillingen: l(x 0,x 1 ) = {x 0 + t(x 1 x 0 ) t R}. Linjestykket L mellem x 0 og x 1 betegnes L(x 0,x 1 ), og er givet ved: L(x 0,x 1 ) = {x 0 + t(x 1 x 0 ) t [0,1]} Det bemærkes for L, at t nu kun kan ligge i intervallet [0,1], da længden af linjestykket, i modsætning til hele linjen l, ikke kan være længere end længden af dens retningsvektor x 1 x 0. Desuden kan linjestykket x 0 + t(x 1 x 0 ) omskrives til (1 t)x 0 + tx 1. Definition af en konveks mængde er dermed: 1. Grundlæggende teori 9
18 1.3 Konvekse mængder DEFINITION 1.11 Lad C være en delmængde af R n. C siges at være konveks, hvis og kun hvis L(x 0,x 1 ) C for alle x 0,x 1 C Det vises i sætning 3.10 på side 28, at den tilladelige mængde, som afgrænses af bibetingelserne i et lineært programmeringsproblem (se kapitel 3 på side 21), udgør en konveks mængde Grundlæggende teori
19 2 Optimering I matematik er optimering en disciplin, hvor der søges efter en optimal løsning til et givet problem. Et optimeringsproblem handler således om at finde den løsning, hvormed en funktion har maksimums- eller minimumsværdier. Man kalder dette at maksimere eller minimere funktionen. Optimering er en højst relevant disciplin. I utroligt mange sammenhænge opstilles der optimeringsproblemer, som man ønsker at finde en løsning på. Det anvendes indenfor så forskellige områder som f.eks.: Ernæring - at sammensætte den mest nærende kost på den billigste måde. Logistik - at få transporteret mest muligt til flest steder og på kortest tid. Skemaplanlægning - hvordan man får mest mulig produktion med mindst mulig bemanding. Netværk - at finde den mest optimale rute for internettrafik. Økonomi - at maksimere profit. Et lineært program (som vi går i detaljer med i kapitel 3) består af en lineær funktion og en række lineære bibetingelser. Vi er interesserede i at finde de løsninger til funktionen, som giver funktionen den mest optimale værdi under de begrænsninger, som de lineære bibetingelser definerer. Det være sig maksimal eller minimal værdi eller under ét: Ekstremum. Dette rejser imidlertid nogle spørgsmål omkring, hvordan man kan være sikker på, at der eksisterer løsninger til sådan en funktion, og hvordan man kan være sikker på, at sådanne løsninger er optimale. I dette kapitel fokuseres der på at fastlægge, hvad der med matematiske øjne forstås ved ekstremum og under hvilke betingelser, vi kan finde ekstremum. Desuden undersøges også under hvilke betingelser, vi kan være sikre på, at ekstremum eksisterer. Vi runder af med en kort diskussion af forskellige typer af optimeringsproblemer og deres tilhørende løsningsmetoder. 2.1 Ekstrema for differentiable funktioner af én variabel Dette afsnit er baseret på [Edwards and Penney, 2008, s. 147], [Wade, 2010, s. 105] og [Adams and Essex, 2009, s. 242]. Vi har fra sætning 1.9 på side 8, at der eksisterer punkter M og m, hvor en reel funktion, hvis definitionsmængde restringeres til et lukket interval i R, antager henholdsvis maksimum og minimum. Den følgende definition præciserer, hvornår en funktion siges at have maksimum eller minimum i et punkt. 2. Optimering 11
20 2.1 Ekstrema for differentiable funktioner af én variabel DEFINITION 2.1 Lad f være defineret på et lukket interval I og M,m I. Så siges f (M) at være et maksimum for f, hvis f (M) f (x) for alle x I. Tilsvarende siges f (m) at være et minimum for f, hvis f (m) f (x) for alle x I. En funktion f defineret på et åbent interval I har lokalt maksimum i c I, hvis der eksisterer et δ > 0, således at c x < δ og x I medfører, at f (c) f (x). Tilsvarende har f lokalt minimum i c I, hvis der eksisterer et δ > 0, således at c x < δ og x I medfører at f (c) f (x). En funktion f, med definitionsmængde I, kan også have enten et globalt minimum eller et globalt maksimum. Et globalt minimum findes i c, hvis f (c) f (x) for alle x I, og et globalt maksimum findes i c, hvis f (c) f (x) for alle x I. Den følgende sætning viser, at lokale ekstremum kan forekomme, hvor en funktions afledede er lig med nul. SÆTNING 2.2 Lad I være et åbent interval, f : I R og c I. Hvis f er differentiabel i c og har lokalt maksimum eller lokalt minimum i c, så er f (c) = 0. BEVIS Antag at f har lokalt maksimum i c, så er f (c + h) f (c) 0 for et lille h. Dermed er f (c + h) f (c) h Tag grænseværdien i (2.1). 0 for h > 0 og f (c + h) f (c) h 0 for h < 0. (2.1) f (c + h) f (c) lim 0 for h > 0 h 0 + h f (c + h) f (c) lim 0 for h < 0 h 0 h (2.2) Da f er differentiabel i c, eksisterer grænseværdierne i (2.2), og vi får f (c). Dermed er 0 f (c) 0, ved hjælp af klemmesætningen [Wade, 2010, s. 73], og det følger, at f (c) = 0. Tilsvarende kan beviset gennemføres for et lokalt minimum. BEMÆRKNING 2.3 Sætning 2.2 gælder kun, hvis f har lokalt ekstremum i c, hvilket betyder, at det omvendte derfor ikke generelt er sandt. F.eks. er den afledede af funktionen, f (x) = x 3, lig med nul i punktet (0,0). Dette punkt er dog hverken et maksimum eller et minimum, men derimod et punkt med såkaldt vendetangent. Vi studerer disse observationer i større detalje i afsnit på side Optimering
21 2.1 Ekstrema for differentiable funktioner af én variabel På figur 2.1 vises en kurve på et lukket interval I = [a,b], og det ses, at kurven har seks ekstremumspunkter. Ekstremumspunkterne findes i punkterne a, c, d, e, f og b. Der er et lokalt minimum i både c, e og b, og der er et lokalt maksimum i både a, d og f. Desuden er c et globalt minimum, og f er et globalt maksimum. y a c d e f x b Figur 2.1: Illustration af en graf på et lukket interval med ekstremumspunkter. For funktioner defineret på åbne intervaller er ekstremumspunkter, ved hjælp af differentialregning, særdeles lette at finde, da man blot behøver at finde løsningerne til funktionens differentialkvotient sat lig med nul. Disse skal så vurderes til enten at være maksimums-, minimumspunkt eller et punkt med vendetangent, hvilket vurderes ved at undersøge funktionens monotoniforhold (også kaldet en fortegnsundersøgelse). Er funktionen imidlertid defineret på et lukket interval, er det også nødvendigt at undersøge funktionen i intervallets endepunkter, da disse også må være lokale minima eller maksima. Vi præciserer disse observationer til R n i afsnit på side 17. En anden metode til at finde ud af, om en funktion enten har minimum, maksimum eller vendetangent, er ved hjælp af funktionens dobbelte afledede, f (x 0 ). Metoden hedder anden afledet testen og gives i følgende sætning, som ikke bevises 1. SÆTNING 2.4 Lad f være en to gange differentiabel funktion defineret på et åbent interval I og med kontinuert anden afledede. Lad x 0 I, og antag at f (x 0 ) = 0. Så gælder der, at i. hvis f (x 0 ) > 0, så er f (x 0 ) et lokalt minimum i x 0. ii. hvis f (x 0 ) < 0, så er f (x 0 ) et lokalt maksimum i x 0. iii. hvis f (x 0 ) = 0, kan en fortegnsundersøgelse af f (x) benyttes til at afgøre, om der er ekstremum eller vendetangent i x 0 Anden afledet testen giver for simple funktioner en hurtig måde at identificere lo- 1 For bevis af sætning 2.4 henvises læseren til [Adams and Essex, 2009, s. 242] 2. Optimering 13
22 2.2 Ekstrema for differentiable funktioner af flere variable kale ekstrema, men som punkt (iii) i sætningen siger, kan der ikke udledes et entydigt svar, hvis f (x 0 ) = 0, og vi må foretage en traditionel fortegnsundersøgelse. Vi har kort gennemgået ekstrema for funktioner i R for at give et indblik i, hvad ekstrema er. Funktioner i R frembringer relative simple tilfælde. Vi fokuserer derfor i det følgende på ekstrema for funktioner i R n for at udvide begrebet ekstrema. 2.2 Ekstrema for differentiable funktioner af flere variable Dette afsnit er baseret på [Wade, 2010, s. 398, ], hvis ikke andet er angivet. Vi lægger i dette afsnit ud med definition af ekstremum for en reel funktion defineret i R n og undersøger efterfølgende sammenhængen mellem ekstrema og en funktions afledede Ekstrema for reelle funktioner i R n Definitionen 2.5 udvider definition A.1 på side 51, så også randpunkter i funktionens definitionsmængde kan inkluderes. Desuden anvendes begrebet om kugler fra afsnit på side 3. DEFINITION 2.5 Lad V være en delmængde af R n, lad a V og antag at f : V R, så gælder der at: i. f (a) kaldes et lokalt minimum af f, hvis og kun hvis der er et r > 0, således at f (a) f (x) for alle x (B r (a) V). ii. f (a) kaldes et lokalt maksimum af f, hvis og kun hvis der er et r > 0, således at f (a) f (x) for alle x (B r (a) V). iii. f (a) kaldes et lokalt ekstremum af f, hvis og kun hvis f (a) er et lokalt maksimum eller lokalt minimum af f. Bemærk at x (B r (a) V) sikrer, at x ligger i funktionens definitionsmængde V, hvis kuglen B r (a) har punkter, som ligger udenfor V. Denne notation giver også mulighed for, at x kan være et randpunkt i V. Disse observationer er illustreret på figur 2.2 på næste side. Ækvivalent med funktioner i R kan en funktion defineret i R n også have globale ekstrema Optimering
23 2.2 Ekstrema for differentiable funktioner af flere variable r a x V B r (a) V Figur 2.2: Illustration af mængden B r (a) V fra definition 2.5. Da V er en lukket mængde, er det muligt, at x kan være et randpunkt i V. DEFINITION 2.6 Lad V være en delmængde af R n, lad a V og antag at f : V R, så gælder der at: i. f (a) kaldes et globalt minimum af f, hvis og kun hvis f (x) f (a) for alle x V. ii. f (a) kaldes et globalt maksimum af f, hvis og kun hvis f (x) f (a) for alle x V. Vi har dermed klarlagt, hvordan man kan afgøre, hvorvidt et punkt er et ekstremumspunkt. I næste afsnit undersøges, hvordan ekstrema kan identificeres, og hvorvidt det er muligt at finde ekstremumspunkter Ekstrema for differentiable funktioner i R n Som vi skal se i det følgende, kan ekstremum af reelle differentiable funktioner i R n ligeledes forekomme i punkter, hvor den afledede er lig nul. For funktioner f : R n R bruges notationen for gradienten f : R n R n, hvor alle første ordens partielle afledede eksisterer; f (a) := ( f (a), f (a),..., f ) (a). x 1 x 2 x n Gradienten af f (a) er således en vektor indeholdende alle første ordens partielle afledede af f (x) i punktet a. Gradienten siges ikke at eksistere, hvis mindst én af de første ordens partielle afledede ikke eksisterer, eller hvis a er et randpunkt. Sidstnævnte følger af, at alle gradientens første ordens partielle afledede ikke er defineret i et randpunkt, men kun på en åben mængde. 2. Optimering 15
24 2.2 Ekstrema for differentiable funktioner af flere variable LEMMA 2.7 Hvis alle første ordens partielle afledede af en funktion f eksisterer i punktet a, og f (a) er et lokalt ekstremum af f, så er f (a) = 0. BEVIS Lad g(t) = f (a 1,..., a j 1,t, a j+1,..., a n ). g(t) er en endimensional funktion, som har et lokalt ekstremum i t = a j, hvor j = 1,...,n. Fra sætning 2.2 gælder der, at f (a) = g (a j ) = 0 x j For funktioner af én variabel har vi, at det er nødvendigt at undersøge en funktions montoniforhold for at kunne identificere, hvorvidt et givet punkt kan være et punkt med vendetangent og dermed ikke et ekstremum. Det er vigtigt at bemærke, at der som i det endimensionale tilfælde gælder for R n, at lemma 2.7 er en nødvendig betingelse for eksistensen af et ekstremumspunkt. Imidlertid er det ikke en tilstrækkelig betingelse for, at f (a) er et lokalt ekstremum. Vi præciserer i det følgende betydningen af disse betingelser, men giver først et par motiverende eksempler. EKSEMPEL 2.8 Funktionen f (x,y) = x 2 y 2 (se figur 2.3), hvis gradient i punktet (0,0) er f (0,0) = (0,0), men hvor f (0,0) ikke er et lokalt ekstremum, men derimod et såkaldt saddelpunkt. EKSEMPEL 2.9 Funktionen g(x,y) = x 2 + y 2 (se figur 2.4) har lokalt minimum i punktet (0,0), men g(0,0) eksisterer ikke, da g er ikke-differentiabel i punktet (0,0). (0,0) (0,0) x 0-5 y x 0-5 y Figur 2.3: Illustration af f (x, y) = x 2 y 2. f (0,0) = (0,0), men funktionen har hverken lokalt maksimum eller lokalt minimum i punktet (0,0). Figur 2.4: Illustration af g(x,y) = x 2 + y 2. g(x,y) har lokalt minimum i punktet (0,0), men g(0, 0) eksisterer ikke, da g er ikke-differentiabel i punktet (0,0) Optimering
25 2.2 Ekstrema for differentiable funktioner af flere variable På baggrund af ovenstående observationer indføres i følgende definition en betegnelse for punkter, hvor gradienten af en funktion er enten lig med nul eller ikke eksisterer. DEFINITION 2.10 Et kritisk punkt for en funktion f er et punkt a i definitionsmængden af f, hvor f (a) = 0, eller hvor ikke alle funktionens partielle afledede eksisterer. Undersøger vi igen figur 2.3 og 2.4 på modstående side, ser vi, at begge funktioner har kritiske punkter i (0,0) Nødvendige og tilstrækkelige betingelser for ekstremum De følgende sætninger 2.11 og 2.12, baseret på [Adams and Essex, 2009, s. 744], viser, hvornår der er henholdsvis nødvendige og tilstrækkelige betingelser for, at et ekstremum af en funktion eksisterer. Egenskaberne omkring gradienten fra afsnit kan sammenfattes i følgende korollar, som beskriver nødvendige betingelser for ekstremum. KOROLLAR 2.11 (Nødvendige betingelser for ekstremum) Lad f være en funktion defineret på E R n. Så kan f kun have lokalt eller globalt ekstremum i et punkt a E, hvis der for a gælder et af følgende tilfælde: i. f (a) = 0, ii. f (a) ikke eksisterer, specielt hvis a er et punkt på randen af E. Sætning 2.11 garanterer dermed ikke, at en given funktion har ekstremum, men fortæller os kun, hvor vi skal lede for at kunne afgøre, om ekstremum eksisterer. Konceptet i definition 1.8 på side 7 fortæller os på hvilken måde, vi kan afgøre, om en funktion er begrænset. Omvendt kan en funktion f : E R, hvor E R n, have en ubegrænset værdimængde, hvis der for alle b R findes et x E, således at f (x) > b. Eksempelvis er f (x) = 1 x ubegrænset i intervallet (0,1). Det er også muligt, at værdimængden er begrænset, men på en sådan måde at en funktion intet ekstremum har. F.eks. er g(x) = x i intervallet I = [0, 1) opadtil begrænset med sup x I g(x) = 1, men f har intet maksimum i dette interval. Eksistensen af ekstremum for en funktion afhænger således både af funktionens definitionsmængde men også af funktionen selv. Den følgende sætning fortæller os under hvilke betingelser, vi kan være sikre på, at et ekstremum eksisterer. 2. Optimering 17
26 2.3 Optimeringsproblemer og løsningsmetoder SÆTNING 2.12 (Tilstrækkelige betingelser for ekstremum) Lad f være en kontinuert funktion på en lukket, begrænset mængde E R n, så er funktionens værdimængde en begrænset delmængde af R. Desuden eksisterer der punkter i E, hvor f antager globalt maksimum og minimum. BEVIS Beviset er analogt med beviset for ekstremværdisætningen i sætning 1.9 på side 8 og udelades derfor her. Modsat sætning 2.11 giver sætning 2.12 en garanti for eksistensen af ekstremum for funktioner på lukkede mængder. Vi har dermed et sæt regler for, hvor vi kan lede efter, og hvornår vi kan være garanterede, at en optimal løsning til et maksimerings- eller minimeringsproblem eksisterer. 2.3 Optimeringsproblemer og løsningsmetoder Som nævnt i kapitelindledningen anvendes optimering i omfattende grad indenfor mange forskellige områder. Formuleringen af optimeringsproblemer kan falde indenfor to hovedkategorier; lineære eller ikke-lineære. Følgende bygger på [Boyd, 2009, s. 6, 9], hvis ikke andet er angivet Lineære optimeringsproblemer Opstillingen af et lineært problem kaldes ofte for et lineært program, hvis alle dele af problemet, herunder den funktion man vil optimere, er lineære. Funktionen begrænses typisk af en række lineære uligheder eller ligheder. Der findes adskillige løsningsmetoder til at løse lineære programmer med. Én af disse metoder er simplex metoden [Dantzig, 1951], som finder optimale løsninger ved at bevæge sig imellem tilstødende hjørnepunkter, i det område den funktion, der skal optimeres, er begrænset indenfor. Simplex metoden er specielt udbredt på grund af dens effektivitet i praksis, selvom det er vist, at metoden kan have eksponentiel tidskompleksitet [Luenberger and Ye, 2008, s. 111] Derudover kan nævnes ellipsoide-metoden [Khachiyan, 1979], som omkranser optimale løsninger i en følge af ellipsoider, hvor den ene er mindre end sin forgænger. Ellipsoide-metoden har polynomiel tidskompleksitet, men den er i praksis markant langsommere end simplex metoden [Luenberger and Ye, 2008, s. 112]. En anden efterhånden også meget udbredt metode, er en indre-punkts metode, som præsenteres i [Karmarkar, 1984]. Karmarkars metode bevæger sig udelukkende i indre punkter, men konvergerer til sidst mod en optimal løsning i et rand- eller hjørnepunkt. Metoden har også polynomiel tidskompleksitet, men er derudover i praksis hurtigere end simplex metoden [Luenberger and Ye, 2008, s. 139] Optimering
27 2.3 Optimeringsproblemer og løsningsmetoder Ikke-lineære optimeringsproblemer Opstillingen af et ikke-lineært problem kaldes ofte et ikke-lineært program, hvis dele af problemet, f.eks. den funktion man vil optimere, er ikke-lineær. Det forsøges ofte i første omgang at undersøge, om man tilnærmelsesvis kan omformulere det til et lineært problem, da disse typisk vil være mere enkle at arbejde med. Er dette ikke muligt, anvendes ikke-lineær programmering. I lineære programmer er alle dele konvekse, og det samme gælder også for nogle ikke-lineære programmer, men det typiske ikke-lineære problem indeholder derimod dele, der ikke er konvekse. Et eksempel på et ikke-lineært optimeringsproblem kan eksempelvis være at finde maksimum for funktionen f (x,y) = x 2 2xy + y 2 x 4 y 4. Det er klart, at f er ikke-lineær, idet funktionen er af fjerde grad. Hvis den dobbelte afledede af f eksisterer, f (x,y) = 0, og det antages, at maksimum er et indre punkt, kan kritiske punkter klassificeres ved hjælp af Hesse matricen [Luenberger and Ye, 2008, s ]. I næste kapitel dykker vi dybere ned i de lineære optimeringsproblemer og fokuserer specifikt på emnet lineær programmering. Lineær programmering er interessant, da mange optimeringsproblemer er lineære af natur. Derudover er det på grund af lineariteten den mest enkle og derfor også den mest attraktive måde at formulere et problem på. Som løsningsmetode indrages simplex metoden, som er specielt interessant, eftersom det er den første løsningsmetode, og da den er yderst udbredt. 2. Optimering 19
28 2.3 Optimeringsproblemer og løsningsmetoder Optimering
29 3 Lineær programmering Lineær programmering er en matematisk metode til at optimere en lineær funktion. Sådan en funktion kalder vi en målfunktion, og denne består af variablerne x 1,..., x n, der er under lineære bibetingelser (u.b.b.), dvs. variablerne skal tilfredsstille et antal lineære uligheder, som er med til at begrænse målfunktionen. Et lineært program med n variable og m bibetingelser kan eksempelvis udtrykkes ved: Minimer u.b.b. n j=1 n j=1 c j x j (3.1) a ij x j = b i, i = 1...m (3.2) hvor x j 0, j = 1...n (3.3) hvor {a ij,b i,c j } er givet. For et sådant lineært program er (3.1) målfunktionen, (3.2) de lineære bibetingelser og (3.3) kaldes de ikke-negative betingelser. 3.1 Definition af et kanonisk lineært program Dette afsnit er baseret på [Lay, 2006b, s. 20]. Det viser sig, at alle lineære programmer har en associeret kanonisk form, som vi definerer på følgende måde: DEFINITION 3.1 Lad en m 1 vektor b = (b 1,...,b m ) R m, en n 1 vektor c = (c 1,...,c n ) R n og en m n matrix A = [a ij ] være givet. Der kan nu formuleres et lineært program: Find en n 1 vektor x = (x 1,..., x n ) R n for at maksimere under bibetingelse af f (x 1,..., x n ) = c 1 x 1 + c 2 x c n x n a 11 x 1 + a 12 x a 1n x n b 1 a 21 x 1 + a 22 x a 2n x n b 2. a m1 x 1 + a m2 x a mn x n b m hvor x j 0, j = 1,...,n 3. Lineær programmering 21
30 3.2 Problematikker i lineære programmer Et sådan lineært program siges at være på kanonisk form. Dette har ækvivalent matrixnotation kendt fra lineær algebra: Maksimer f (x) = c T x u.b.b. Ax b hvor x 0 hvor en ulighed mellem to vektorer gælder for hver af deres koordinater. Enhver vektor x, der tilfredsstiller bibetingelserne og de ikke-negative krav til x, kaldes en tilladelig løsning, og mængden af tilladelige løsninger F kaldes den tilladelige mængde. En vektor x F kaldes en optimal løsning, hvis f (x ) = max x F f (x) Vi vil i afsnit på side 25 se, at det ovenstående maksimeringsproblem altid kan formuleres som et tilsvarende lineært minimimeringsproblem. Vi har dermed beskrevet, hvad et lineært program er. Fra afsnit 3.3 beskriver vi, hvordan et lineært program kan formuleres ud fra et givet problem, og vi fokuserer på, hvordan det kan opstilles på forskellige måder. 3.2 Problematikker i lineære programmer Dette afsnit er baseret [Lay, 2006b, s. 21] Ved et arbitrært kanonisk lineært program kan to ting gå galt. i. Hvis bibetingelserne er i uoverensstemmelse på en sådan måde, at bibetingelserne ikke afgrænser en tilladelig mængde, så er F =. ii. Hvis målfunktionen påtager arbitrært store (tilsvarende små) værdier i F, så eksisterer det ønskede maksimum (tilsvarende minimum) ikke. I det første tilfælde siges det lineære program at være udenfor den tilladelige mængde. I det andet tilfælde kaldes det lineære program ubegrænset. 3.3 Formulering af et lineært program Følgende er et eksempel på, hvordan man kan formulere et lineært program ud fra et tænkt problem. EKSEMPEL 3.2 En landmand har et stykke land til sin rådighed. Han skal så rug og hvede. Han må højst så 30 tønder land med rug og højst 20 tønder land med hvede. Han har Lineær programmering
31 3.3 Formulering af et lineært program kr. at bruge af. Hver tønde land med rug koster 1000 kr. at så, og hver tønde land med hvede koster 2000 kr. at så. Udbyttet er 2000 kr. for hver tønde land med rug og 3000 kr. for hver tønde land med hvede. Landmanden ønsker at maksimere sit udbytte og dermed finde ud af, hvor mange tønder land af hver kornsort han i så fald bør så. Vi starter med at opstille en målfunktion. Vi kalder 1 tønde land med rug for x 1 og 1 tønde land med hvede for x 2. Da det, han ønsker at optimere, er udbyttet, bliver målfunktionens koefficienter det ovenfor angivne udbytte for henholdsvis rug og hvede: f (x 1, x 2 ) = 2000x x 2. For at holde antallet af cifre nede ønsker vi at regne i enheder af 1000 kr., således at vi får: f (x 1, x 2 ) = 2x 1 + 3x 2 Denne målfunktion er imidlertid underlagt nogle begrænsninger - bibetingelser. De bibetingelser, man kan uddrage af landmandens problembeskrivelse, er som følger. Han har kr., og såsæden koster henholdsvis 1000 kr. og 2000 kr. Dvs. (i enheder af 1000 kr.): 1x 1 + 2x 2 54 Han må højst så rug på 30 tønder land. Dvs. x 1 30 Han må højst så hvede på 20 tønder land. Dvs. Man kan ikke så et negativt areal. Dvs. x 2 20 x 1 0, x 2 0. Samler vi ovenstående til et kanonisk lineært program, ser det således ud: Maksimer f (x 1, x 2 ) = 2x 1 + 3x 2 u.b.b. x 1 30 x 2 20 x 1 + 2x 2 54 hvor x 1 0 x 2 0 Eksemplet ovenfor er et to-dimensionalt lineært program og kan derfor løses grafisk - se afsnit 3.6 på side 31. Se afsnit 3.7 på side 33 for en løsning vha. af simplex metoden. 3. Lineær programmering 23
32 3.4 Ækvivalente omskrivninger 3.4 Ækvivalente omskrivninger Dette afsnit er baseret på [Lay, 2006b, s , 30, 45-50] Et lineært program har adskillelige ækvivalente former, hvilket betyder, hvis en af formerne har en løsning, har dens ækvivalente former også en løsning. Vi gennemgår i dette afsnit de mest relevante Regneregler For et problem, hvor funktionen h(x) skal minimeres, kan problemet erstattes med et maksimeringsproblem, hvor funktionen h(x) skal maksimeres. Ligeledes er bibetingelsen; a i1 x a in x n b i ækvivalent med a i1 x 1 a in x n b i. En bibetingelse ved lighed a i1 x a in x n = b i er ækvivalent med: a i1 x a in x n b i a i1 x 1 a in x n b i Standard form Et kanonisk lineært program kan omskrives ved at konvertere ulighederne i bibetingelserne til ligheder. Denne form kalder vi standard form. Dette gøres ved at introducere én ny variabel kaldet en restvariabel for hver ulighed. Denne variabel er midlertidig og er ikke en del af den endelige løsning. DEFINITION 3.3 (Restvariabel) En restvariabel er en variabel, som tilføjes til et kanonisk lineært program for at omskrive en bibetingelse, af form som en ulighed, til en lighed. Bibetingelserne i det lineære program omskrives dermed til ligheder, således at de ikke-negative bibetingelser x 0 er de eneste uligheder i det lineære program. EKSEMPEL 3.4 Til det kanoniske lineære program fra eksempel 3.2 på side 22 introduceres restva Lineær programmering
33 3.4 Ækvivalente omskrivninger riablerne x 3, x 4 og x 5, som giver følgende lineære program på standard form; Maksimer f (x 1, x 2 ) = 2x 1 + 3x 2 u.b.b. x 1 + x 3 = 30 x 2 + x 4 = 20 x 1 + 2x 2 + x 5 = 54 hvor x 1 0, x 2 0, x 3 0, x 4 0, x 5 0 Definer P = {x : [A I m ]x = b, x 0}, P = { x : A x b, x 0} og f (x 1,..., x n, x n+1,..., x n+m ) := f (x 1,..., x n ), hvor f er målfunktionen. SÆTNING 3.5 Når man maksimerer eller minimerer målfunktionen over P svarer det til at maksimere eller minimere over P, det vil sige: max y P f (y) = max x P f (x) og min y P f (y) = min x P f (x) Det fulde bevis vil ikke blive præsenteret her, men en strategi vil indeholde transformationerne: U 1 : P P : U 1 (y 1,...,y n,y n+1,...,y n+m ) = (y 1,...,y n ) U 2 : P P :[U 2 (x 1,..., x n )] j = x j, j {1,...,n}, [U 2 (x 1,..., x n )] j = b j [Ax] j, j {1,...,n} hvor [v] j betyder den j te komponent af vektoren v. Vi ved dermed, at en optimal løsning til et kanonisk lineært program og en optimal løsning til et lineært program på standard form er ækvivalente Dualitet I forbindelse med dualitet kalder vi et kanonisk lineært programmeringsproblem for det primære problem. Til dette kan vi altid finde et tilsvarende dualt problem, som er et minimeringsproblem. 3. Lineær programmering 25
34 3.4 Ækvivalente omskrivninger DEFINITION 3.6 Givet et kanonisk lineært program udtrykt ved matrixnotation, har vi det primære problem: Maksimer f (x) = c T x u.b.b. Ax b hvor x 0 (3.4) Det duale problem for (3.4) er nu, for y R m : Minimer g(y) = b T y u.b.b. A T y c hvor y 0 Det duale problem går dermed ud på at finde et y R m, således at målfunktionen g(y) = b T y minimeres under bibetingelserne A T y c og y 0. Vi betragter et lineært program: Maksimer h(y) = b T y u.b.b. A T y c hvor y 0 (3.5) Vi kan derved se, at det duale problem for (3.5) bliver: Minimer F(w) = c T w u.b.b. ( A T ) T w b hvor w 0 (3.6) I kanonisk form vil (3.6) svare til: Maksimer G(w) = c T w u.b.b. Aw b hvor w 0 (3.7) Hvis vi erstatter w med x i (3.7), bliver (3.7) det samme som det primære problem (3.5), dvs. dualen af det duale problem er det primære problem Lineær programmering
35 3.4 Ækvivalente omskrivninger EKSEMPEL 3.7 Vi betragter det kanoniske lineære program fra eksempel 3.2 på side 22: Maksimer f (x 1, x 2 ) = 2x 1 + 3x 2 u.b.b. x 1 30 x 2 20 x 1 + 2x 2 54 hvor x 1 0 x 2 0 Vi kan nu opstille det duale problem til vores primære problem: Minimer g(y 1,y 2,y 3 ) = 30y y y 3 u.b.b. y 1 + y 3 2 y 2 + 2y 3 3 hvor y 1 0, y 2 0, y 3 0 Med følgende sætning kan man bestemme, hvornår en optimal løsning til både det primære lineære program og det duale problem findes. Derudover kan man konkludere, at det duale problem har en optimal løsning, hvis man ved, at det primære lineære program har en optimal løsning. SÆTNING 3.8 Lad Q være det primære lineære program, og F være mængden af tilladelige løsninger for Q. Lad Q være det duale problem, og F være mængden af tilladelige løsninger for Q. i. Hvis både F og F er ikke-tomme mængder, så har både Q og Q optimale løsninger, f.eks. x og y, hvilket betyder at f (x ) = g(y ). ii. Hvis et af problemerne Q eller Q har en optimal løsning x eller y, så har det andet problem også en optimal løsning, hvor f (x ) = g(y ). iii. Hvis Q eller Q bliver løst med simplex metoden, kan løsningen på det duale problem ses i den nederste række af den sidste tabel i søjlerne associeret med restvariablerne. Vi gennemfører ikke et bevis for denne sætning, da vi har beskrevet dualitet kun for at vise, at der er forskellige måder at opstille det samme lineære program. For detaljer omkring beviset refereres læseren til [Lay, 2006b, s. 46]. 3. Lineær programmering 27
36 3.5 Eksistensen af en optimal løsning 3.5 Eksistensen af en optimal løsning Dette afsnit er baseret på [Goemans, 1994, s. LP4-LP7] 1. Lad P = {x : Ax = b, x 0} R n være mængden af tilladelige løsninger til et lineært program på standard form. DEFINITION 3.9 x er et hjørnepunkt i P, hvis der ikke findes et y = 0, således at x + y, x y P Definition 3.9 kan være svær at kapere i første omgang. Princippet illustreres derfor på figur 3.1, som giver et eksempel på et tilfælde, hvor x er et hjørnepunkt, og på figur 3.2 som viser et eksempel på et punkt, som ikke er et hjørnepunkt. P P -y x y -y x y Figur 3.1: Bemærk hvordan x + y ligger uden for P, og at det derfor ikke er muligt at lave en vektor y, således at betingelserne i definition 3.9 er opfyldt. Dermed er x et hjørnepunkt i P. Figur 3.2: Fra definition 3.9 har vi at x ikke er et hjørnepunkt, idet vi kan lave en vektor y, således at både x + y og x y ligger i P. Man kan også vælge et x, som er et indre punkt i P, men i dette tilfælde kan der altid findes et y, således at x + y, x y P, og x kan i dette tilfælde aldrig være et hjørnepunkt. De mest interessante tilfælde er derfor i randpunkterne af P. Det kan desuden også observeres, at definition 3.9 kun holder for hjørnepunkter, hvor vinklen imellem de tilstødende kanter er mellem 0 og 180. SÆTNING 3.10 P = {x : Ax = b, x 0} er konveks. BEVIS Givet P = {x : Ax = b, x 0} lad x 0, x 1 P. For et vilkårligt 0 α 1, undersøger vi punktet αx 0 + (1 α)x 1. Vi har, at A(αx 0 + (1 α)x 1 ) = αax 0 + (1 α)ax 1 = (α + 1 α)b = αb + b αb = b, da Ax 0 = b og Ax 1 = b. Eftersom A(αx 0 + (1 α)x 1 ) = b, medfører det at L(x 0,x 1 ) = αx 0 + (1 α)x 1 P. Fra definition 1.11 følger det, at P er konveks. 1 Bemærk at Goemans betragter lineære minimeringsproblemer og ikke lineære maksimeringsproblemer som i denne rapport. Det følger dermed, at relevante sætninger i [Goemans, 1994] er baseret på dette valg. Det skulle ikke give anledning til forvirring at bevare disse sætningers originale form, da afsnit på side 25 viser, at de to lineære problemer er tilsvarende Lineær programmering
37 3.5 Eksistensen af en optimal løsning Resultatet af følgende sætning er, at den mindste værdi, målfunktionen c T x kan antage i P, opnås i et hjørnepunkt x. SÆTNING 3.11 Antag min{c T x : x P} er endeligt, så gælder der for alle x P, at der findes et hjørnepunkt x P således at c T x c T x. BEVIS Hvis x er et hjørnepunkt, så er x = x. Hvis x ikke er et hjørnepunkt, så gælder der ifølge definition 3.9, at der eksisterer et y = 0, således at x + y, x y P. Da A(x + y) = b, og A(x y) = b, er Ay = 0. Uden tab af generalitet, antag at c T y 0 (tag enten y eller -y). Hvis c T y = 0 vælg et y på en sådan måde, at der findes et j således at y j < 0. Eftersom y = 0 og c T y = c T ( y) = 0, må dette være sandt for enten y eller -y. Betragt x + λy, λ > 0. Så har vi, at c T (x + λy) = c T x + λc T y c T x, da c T y antages at være ikke-positiv. Tilfælde 1: Der eksisterer et j således at y j < 0 Når λ vokser, aftager det j te element indtil at x + λy ikke længere er tilladelig. Vælg λ = min {j:yj <0}{x j / y j } = x k / y k. Dette er det største λ, således at x + λy 0. Da Ay = 0, A(x + λy) = Ax + λay = Ax = b. Så ligger x + λy P, og desuden har x + λy et nul-element mere, (x + λy) k, end x. Sæt x := x + λy, og undersøg om x er et hjørnepunkt. Tilfælde 2: y j 0 for alle j. Som vi har antaget, er c T y < 0, og x + λy er tilladelig for alle λ 0, eftersom A(x + λy) = Ax + λay = Ax = b og x + λy x 0. Men da c T (x + λy) = c T x + λc T y når λ, medfører dette, at det lineære program er ubegrænset, hvilket er en modstrid. Det første tilfælde kan højst ske n gange, da x har n elementer. Ved induktion over antallet af elementer forskellig fra nul i x, får vi et hjørnepunkt x. Sætning 3.11 beskriver, hvordan målfunktionen c T x antager minimum i et hjørnepunkt i mængden P. Det følgende korollar viser sammenhængen mellem dette resultat og optimale løsninger til et lineært minimeringsproblem. KOROLLAR 3.12 Hvis min{c T x : Ax = b, x 0} er endeligt, så eksisterer der en optimal løsning x, som er et hjørnepunkt. BEVIS Antag det modsatte. Tag en optimal løsning x. Ifølge sætning 3.11 eksisterer der et hjørnepunkt x, således at c T x c T x, og derfor må dette hjørnepunkt nødvendigvis også være optimal. 3. Lineær programmering 29
38 3.5 Eksistensen af en optimal løsning Ønskes en optimal løsning til et lineært program, viser korollar 3.12, at det er tilstrækkeligt at undersøge den tilladelige mængdes hjørnepunkter, da det er her, at optimale løsninger findes. Dette resultat anvendes i afsnit 3.6 på næste side omkring grafisk løsning. KOROLLAR 3.13 Hvis P = {x : Ax = b, x 0} =, så har P et hjørnepunkt. Resultatet af følgende sætning er, at vi kan konstruere en undermatrix A x, med lineært uafhængige søjler, udfra de elementer i x, som er større end nul, hvis x er et hjørnepunkt. Omvendt kan vi sige, at x er et hjørnepunkt, hvis der eksisterer en undermatrix af A, der har lineært uafhængige søjler. SÆTNING 3.14 Lad P = {x : Ax = b, x 0}. For x P, lad A x være undermatricen af A svarende til j således at x j > 0. Så er følgende udsagn ækvivalente: i. x et hjørnepunkt. ii. A x har lineært uafhængige søjler. BEVIS Vi viser at i ii. Antag at x ikke er et hjørnepunkt. Så gælder der per definition 3.9, at der eksisterer et y = 0 således at x + y, x y P. Lad A y være en undermatrix svarende til elementerne forskellig fra nul i y. Som i beviset for sætning 3.11 på forrige side, Ax + Ay = b Ax Ay = b } Ay = 0 A y har lineært afhængige søjler eftersom y = 0. Desuden, x + y 0 x y 0 } y j = 0 når x j = 0 Derfor er A y en undermatrix af A x. Eftersom A y er en undermatrix af A x, har A x lineært afhængige søjler. Vi mangler nu at vise, at ii i. Antag at A x har lineært afhængige søjler. Så eksisterer der et y således at A x y = 0, y = 0. Forlæng y til R n ved at tilføje 0-elementer. Så eksisterer der et y R n, således at Ay = 0, y = 0 og y j = 0, når x j = 0. Betragt y = λy for små λ 0. Antag at x + y, x y P ved et argument analogt til det i tilfælde 1 i beviset for sætning Dermed er x ikke et hjørnepunkt Lineær programmering
39 3.6 Geometrisk løsningsmetode Basisløsninger Lad x være et hjørnepunkt i P = {x : Ax = b}, hvor A er en m n matrix. Antag at {j : x j > 0} = m. Dvs. at der er m elementer i x, hvor det j te element er større end nul. Vi betegner derudfra B = {j : x j > 0} som mængden af de pågældende index, og vi kan således konstruere en undermatrix A B, som indeholder alle der søjler j i A, hvor j B. Der gælder fra sætning 3.14, at A B er en kvadratisk m m matrix med lineært uafhængige søjler, og derfor at A B er inverterbar. Dermed findes en løsning, som er et hjørnepunkt, kald den x B, der kan konstrueres som x B = {x j : j B}. Eftersom A B x B = b, har vi dermed en såkaldt tilladelig basisløsning x B = A 1 B b. Hvis {j : x j > 0} < m betyder det, at en undermatrix med lineært uafhængige søjler fra A har rang mindre end m. Vi kan imidlertid uden problemer udvide en undermatrix, der har mindre en m søjler med lineært uafhængige søjler, således at vi får en m m undermatrix af A. Dermed kan en tilladelig basisløsning formuleres som før. Vi ved nu, at tilladelige mængder er konvekse, og at en optimal løsning til et lineært program findes i et hjørnepunkt af den tilladelige mængde. Vi har dermed et grundlag for, i det følgende, at undersøge løsningsmetoder til lineære programmer. 3.6 Geometrisk løsningsmetode Dette afsnit er baseret på [Lay, 2006b, s ] Har man et kanonisk lineært program med op til tre variable, kan en optimal løsning findes ved at løse det lineære program ved hjælp af en geometrisk løsningsmetode. I denne løses problemet ved at indtegne grafer i et koordinatsystem, som svarer til det lineære programs bibetingelser. Disse grafer afgrænser, sammen med betingelserne for x 1, x 2 og x 3, som skal være positive, således en tilladelig mængde i første kvadrant. Ifølge korollar 3.12 ved vi, at et af områdets hjørnepunkter vil være den optimale løsning. Vi tager udgangspunkt i det lineære maksimeringsproblem fra eksempel 3.2 på side 22: Maksimer f (x 1, x 2 ) = 2x 1 + 3x 2 u.b.b. x 1 30 x 2 20 x 1 + 2x 2 54 hvor x 1 0 x 2 0 (3.8) Da problemet består af to variable, kan det løses grafisk. For at løse det grafisk skal 3. Lineær programmering 31
40 3.6 Geometrisk løsningsmetode problemets bibetingelser laves om til ligheder, så de repræsenterer ligninger, der afbildes i et koordinatsystem som rette linjer. Ligningerne x 1 = 30, x 2 = 20 og x 1 + 2x 2 = 54 er afbildet i figur 3.3, hvor de sammen med de ikke-negative betingelser for x 1 og x 2 afgrænser den tilladelige mængde F. x 2 (0, 20) (14, 20) (30, 12) F (0,0) (30, 0) x 1 Figur 3.3: Illustration af bibetingelserne fra (3.8). Ud fra figuren ses det, at der er fem hjørnepunkter. Tre af disse er allerede givet udfra de første to bibetingelser og betingelserne for x 1 og x 2, (0,0), (30,0) og (0,20). De sidste to kan udregnes ved hjælp af de første to bibetingelser, som siger at x 1 = 30 og x 2 = 20. Disse indsættes i den sidste bibetingelse, så man får punkterne (30,12) og (14,20). For at løse problemet indsættes de fem punkter i målfunktionen for at finde de tilsvarende funktionsværdier. Resultaterne ses i tabel 3.1 herunder. (x 1, x 2 ) f (x 1, x 2 ) (0, 0) 0 (30, 0) 60 (30, 12) 96 (14, 20) 88 (0, 20) 60 Tabel 3.1: Den optimale løsning findes, hvor målfunktion har den maksimale værdi. Som tabellen viser, findes den optimale løsning i punktet (30,12). En anden teknik, som kan benyttes til to-dimensionale problemer, går ud på, at indtegne niveaukurver for målfunktionen. Disse niveaukurver er parallelle, se figur 3.4, og har samme hældning som målfunktionen. Eftersom (3.8) er maksimeringsproblem, parallelforskydes grafen for målfunktionen i retning væk fra (0, 0). I det yderste punkt, hvor niveaukurverne skærer den tilladelige mængde, findes den optimale løsning til problemet Lineær programmering
41 3.7 Simplex metoden x 2 (14, (0, 20) 20) (30, 12) F x 1 (0,0) (30, 0) Figur 3.4: Illustration af målfunktionen samt bibetingelserne fra (3.8). 3.7 Simplex metoden Ønsker man at finde en løsning til lineære programmer af mere end tre variable, er det ikke længere praktisk at anvende en geometriske løsningsmetode som i afsnit 3.6. I det følgende beskrives simplex metoden, som nemt håndterer at løse lineære programmer af flere variable. Simplex metoden er interessant, idet den er den mest udbredte måde at løse lineære programmer på og samtidig en af de mest effektive [Shamir, 1987] Historie Det var under sit arbejde som matematisk rådgiver for United States Air Force, at George Bernard Dantzig i 1947 udarbejdede en matematisk model for lineære programmeringsproblemer samt udviklede simplex metoden [Dantzig, 1951] til løsning af disse. Hans motivation var at optimere planlægningen af militærets tropper og forsyninger. Hans banebrydende arbejde indenfor optimering har givet ham titler som den lineære programmerings fader og skaberen af simplex metoden [Cottle et al., 2011] Overblik For at få en fornemmelse for princippet i simplex metoden gives der her et kort overblik over processen, som også illustreres på figur 3.5 på den følgende side: 3. Lineær programmering 33
42 3.7 Simplex metoden i. Start i et hjørnepunkt x i fra mængden af tilladelige løsninger F. ii. Betragt alle kanter i F der mødes i x i. Hvis målfunktion f ikke kan forøges yderligere ved at gå i retning af en af disse kanter, så returner x i. iii. Hvis f forøges ved at gå i retning af en eller flere kanter, så følges den kant hvor f vokser mest og lad det ekstremumspunkt i F, for enden af kanten, være x i+1. iv. Gentag processen fra trin ii med x i+1. Figur 3.5: Fra startpunktet traverseres grafen indtil en optimal løsning findes. [Wikimedia Commons, 2011] Eftersom f vokser i hvert gennemløb, vil algoritmen ikke løbe igennem det samme punkt x mere end højst én gang, da målfunktionen har en mindre værdi i tidligere besøgte punkter. Da mængden af ekstremumspunkter er endelig, vil algoritmen opnå en optimal løsning, hvis en sådan eksisterer. Terminering af simplex metoden er derfor garanteret i et endeligt antal iterationer. Vi vil i afsnit se, i hvilke tilfælde en implementering af simplex algoritmen kan gå i en uendelig løkke. Som diskuteret i afsnit 3.2 på side 22 kan lineære programmer være ubegrænsede. I så fald vil algoritmen møde en ubegrænset kant, hvor f vil vokse arbitrært (da det kanoniske lineære program er et maksimeringsproblem), og der eksisterer således ikke en entydig optimal løsning. For effektivt at finde en løsning ved hjælp af simplex algoritmen konverteres et lineært program til standard form (se afsnit på side 24) Simplex Algoritmen Det følgende afsnit er primært baseret på [Lay, 2006b, s ] foruden [Goemans, 1994; Cormen, 2001]. Dette afsnit studerer den formelle teknik bag simplex algoritmen, som bygger på opskrivning af og operationer på en såkaldt simplex tabel. Simplex tabellen er interessant, da man i hver iteration af algoritmen kan aflæse en basisløsning fra tabellen, og da den rummer den nødvendige information for at kunne beslutte, hvilke nærliggende hjørnepunkter der kan være mere optimale. Simplex tabellen kan anvendes til at løse små lineære problemer i hånden, men mere interessant er det, at metoden er velegnet til at visualisere computerimplementeringer. Vi går igennem algoritmens princip ved hjælp af et eksempel og giver en mere formel algoritme i 3.15 på side 37 som en opsamling på den anvendte teknik. Simplex algoritmen tager som input lineære programmer på kanonisk form (se definition 3.1 på side 21). Det første trin i den initierende fase i algoritmen er at kon Lineær programmering
43 3.7 Simplex metoden vertere det kanoniske lineære program til et lineært program på standard form efter metoden beskrevet i afsnit på side 24. I første trin undersøges det også, om der eksisterer en tilladelig basisløsning, således at simplex algoritmen har et udgangspunkt. Det trivielle tilfælde er at undersøge, om 0 er en tilladelig løsning, men der findes tilfælde, hvor 0 ikke ligger i den tilladelige mængde, og en præcis metode er derfor nødvendig. Denne studeres ikke her, men beskrives i detaljer i [Cormen, 2001, afsnit 29.5]. Hvis der ikke findes en tilladelig basisløsning, betyder det, at mængden af tilladelige løsninger er tom, og algoritmen returnerer ikke-tilladelig. Vi tager udgangspunkt i eksempel 3.4 på side 24, som allerede er på standard form. Maksimer f (x 1, x 2 ) = 2x 1 + 3x 2 u.b.b. x 1 + x 3 = 30 x 2 + x 4 = 20 x 1 + 2x 2 + x 5 = 54 hvor x 1 0, x 2 0, x 3 0, x 4 0, x 5 0 Målfunktionen c T x i det lineære program ændres til en ligning ved at introducere en ny variabel M, hvor M := c T x omskrives til M c T x = 0. Bemærk at M har positivt fortegn. Vi får dermed fra eksempel 3.4 at M 2x 1 3x 2 = 0. Koefficienterne foran variablerne i bibetingelserne samt den omskrevne målfunktion samles i simplex tabellen på følgende måde: x 1 x 2 x 3 x 4 x 5 HS l l l M (3.9) For referencens skyld angiver HS-søjlen ligningernes højreside. Man vælger nu den af søjlerne, kald denne søjle j, hvor elementet i M-rækken har den mindste negative værdi (er mest negativ). Den valgte søjle j kaldes pivotsøjlen. Når pivotsøjlen er valgt, beregnes for hver række, kald denne række i, et forholdstal ved at dividere række i s HS-værdi med fælleselementet for søjle j og række i, såfremt sidstnævnte er større end nul. Den række, kald denne l i, som resulterer i det laveste forholdstal, vælges som pivotrække, da dette valg sikrer, at koefficienterne i HS-søjlen forbliver positive i de efterfølgende udregninger. Pivotsøjlens og pivotrækkens fælles element kaldes pivotelementet. I afsnit på side 37 undersøger vi, hvilken række man bør vælge, hvis det viser sig, at to forskellige rækker resulterer i det samme forholdstal. I (3.9) vælges søjle x 2, da 3 er den mest negative værdi i M-rækken, og forholdstallene bliver; 20/1 = 20 for række l 2 og 54/2 = 28 for række l 3. Bemærk at vi ikke bruger række l 1, da dennes koefficient er 0. Vi vælger række l 2, da denne har det la- 3. Lineær programmering 35
44 3.7 Simplex metoden veste forholdstal, og der foretages elementære rækkeoperationer for matricer i tabel (3.9), sådan at pivotelementet får værdien 1, og alle andre elementer i pivotsøjlen har værdien 0. Dette resulterer i følgende tabel: x 1 x 2 x 3 x 4 x 5 HS l l l M (3.10) Da M-rækken i (3.10) stadig har negative elementer, er vi ikke færdige. Derfor vælges søjle x 1, og processen gentages. Forholdstallene er nu 30/1 = 30 for l 1 og 14/1 = 14 for l 3, så række l 3 får nu rollen som pivotrække. Som før foretages rækkeoperationer, og vi får: x 1 x 2 x 3 x 4 x 5 HS l l l M M-rækken har nu et negativt element i søjle x 4. Forholdstallene er 8 og 20, så processen gentages en sidste gang med følgende resultat: x 1 x 2 x 3 x 4 x 5 HS 1 l l l M (3.11) Der er ikke flere negative elementer i M-rækken, og en løsning er derfor fundet. Vi aflæser løsningen fra en simplex tabel ved at identificere alle søjler, der har pivotelementer, og vi aflæser HS-værdien ud for pivotelementet. Den tilladelige basisløsning aflæses dermed fra (3.11) som (x 1, x 2, x 4 ) = (30,12,8). Vi ved fra sætning 3.5 på side 25, at løsning til et lineært program på standard form har en ækvivalent løsning til et lineært program på kanonisk form, dvs. det oprindelige problem. Vi kan dermed se bort fra eventuelle restvariabler i basisløsningen. Desuden har disse ingen indflydelse på værdien af målfunktionen, og vi kan for eksempel udelade x 4 fra den endelig løsning. Vi har dermed, at løsningen til det kanoniske lineære program fra eksempel 3.2 er (x 1, x 2 ) = (30,12), og den maksimale værdi kan aflæses fra målfunktionens (M-rækken) HS-søjle til at være 96. På baggrund af ovenstående gennemgang af simplex algoritmen gives her en opsamling af princippet bag metoden: Lineær programmering
45 3.7 Simplex metoden ALGORITME 3.15 (Simplex algoritmen for et kanonisk lineært program) Givet et lineært program Initierende fase: i. Konvertér det lineære program til standard form og undersøg, om der eksisterer en tilladelig basisløsning. Hvis ikke returneres ikketilladelig og algoritmen afsluttes. ii. Ud fra målfunktionen c T x definer M := c T x og dan ligningen M c T x = 0. Opskriv simplex tabellen med koefficienterne fra bibetingelserne og målfunktionen. Itererende fase: iii. Undersøg om M-rækken har negative koefficienter. Hvis alle koefficienter er positive, er en løsning fundet, og algoritmen returnerer en løsning. Ellers vælg den pivotsøjle som har den laveste værdi i M-rækken. iv. Beregn for hver række forholdstallet ved at dividere rækkens HS element med rækkens element i pivotsøjlen, hvis dette er større end nul. Vælg den række som har det laveste forholdstal. v. Foretag rækkeoperationer så pivotelementet har værdien 1, og alle andre elementer i pivotsøjlen har værdien 0. vi. Gentag processen fra trin iii Problematikker i simplex algoritmen Der eksisterer et par potentielle tilfælde af dårlig opførsel i ovenstående algoritme, som må studeres nærmere. Ubegrænsede lineære programmer I algoritmens trin (iii) kan det ske, at målfunktionen har en negativ koefficient, men at pivotsøjlen ingen positive elementer har. Der kan derfor ikke udvælges en pivotrække i trin (iv), og algoritmen må afslutte, før en løsning er fundet. Årsagen til dette er, at variablen i pivotrækken kan antage arbitrært store positive værdier, mens løsningen forbliver tilladelig, da alle elementer i pivotsøjlen er negative. Der kan udfra dette erfares, at det lineære program er ubegrænset, og at der eksisterer tilladelige løsninger men ingen optimal løsning. 3. Lineær programmering 37
46 3.7 Simplex metoden Uendelig løkke Det er også muligt, at det mindste forholdstal opstår i mere end én række. Sker dette, vil det resultere i, at én eller flere af variablerne i den følgende simplex tabel vil være nul, og at værdien af målfunktionen i de efterfølgende tabeller vil være konstant. I værste tilfælde er det muligt, at algoritmen går i en uendelig løkke, og den vil i så fald aldrig finde en løsning. Der findes forfinede simplex metoder, som garanterer, at uendelige løkker ikke forekommer. Én af dem er Blands regel, som præsenteres i [Bland, 1977] og udmærker sig ved sin enkelthed. Blands forfining af simplex metoden udskifter to trin omkring valg af pivotsøjle og pivotrække i algoritme 3.15: Blands regel, trin 1 I stedet for at vælge det laveste tal i trin (iii), foretages følgende: Blandt de værdier i M-rækken, som er mindre end nul, vælges den søjle, med det laveste index som pivotsøjle. Blands regel, trin 2 Som i trin (ii), beregnes forholdstal for alle rækkerne, men ud fra de rækker som har positivt forholdstal, vælges i stedet den række, som har det laveste index. I [Bland, 1977] bevises det, at simplex metoden under Blands regel ikke kan gå i uendelig løkke, men det er dog vigtigt at bemærke, at udelades trin 1, kan uendelige løkker stadig forekomme. En interessant effekt af Blands regel i større lineære programmer er, at pivotelementerne kan have en tendens til samle sig omkring kolonner med lavere index. Desuden giver Bland ingen analyse af tidskompleksiteten for simplex metoden under Blands regel, men det er klart, at enhver ændring af en algoritme kan være medvirkende til en øget beregningstid. Det er sjældent, at uendelige løkker forekommer i simplex metoden [Lay, 2006b, s. 36], og det er så en vurderingssag, om introduktionen af Blands regel kan svare sig Simplex metodens validitet Vi giver ikke et stringent bevis for simplex metoden 2. I stedet skitseres et bevis ved at redegøre for argumenterne for simplex metodens validitet. Simplex metoden terminerer Simplex algoritmen er ikke garanteret terminering i sin oprindelige form, men hvis det lineære program er begrænset, er der endeligt mange hjørnepunkter, som skal undersøges, og algoritmen vil derfor i de fleste tilfælde terminere. Forfines simplex algoritmen under Blands regel jf. afsnit 3.7.4, er terminering derimod garanteret. 2 For en særdeles udførlig udformning af simplex algoritmen og tilhørende bevis se [Cormen, 2001, kapitel 9] Lineær programmering
47 3.7 Simplex metoden Lineære programmer med ikke-tilladelige mængder Hvis simplex algoritmen som input får et lineært program, som ingen tilladelige løsninger har, returnerer den, at løsningen er ikke-tilladelig. Ubegrænsede lineære programmer Hvis et lineært program er ubegrænset, vil simplex algoritmen efter et endeligt antal iterationer returnere, at det lineære program er ubegrænset. I afsnit redegøres for, hvordan dette bestemmes. Simplex metoden returnerer en optimal løsning Simplex metodens første trin er at konvertere et kanonisk lineært program til standard form, men fra afsnit på side 24 ved vi, at disse to former er ækvivalente. Det vil sige, at hvis der eksisterer en optimal løsning til et lineært program på kanonisk form, så eksisterer der også en optimal løsning til den tilsvarende standard form. Når det lineære program Ax = b er begrænset, og dets tilladelige mængde ikke er tom, returnerer simplex algoritmen en tilladelige løsning x. Når algoritmen afslutter, kan vi i den sidste simplex tabel aflæse det ækvivalente lineære program A x = b (se bort fra M-rækken). Vi kan dermed konstruere en undermatrix A B, som kun indeholder de søjler af A, som har pivotelementer. Da alle søjler i A B er lineært uafhængige, har vi fra sætning 3.14 på side 30, at x er et hjørnepunkt. Vi kan derfor sætte de elementer i x, som ikke har pivotsøjler i A, til nul, da de ikke udgør en del af løsningen. Kald denne vektor x B. Vi har dermed løsningen til Ax = b givet ved A B x B = b. Fra sætning 3.10 på side 28 ved vi, at et den tilladelige mængde P til et lineært program på standard form er konveks. Simplex algoritmen kan derfor ikke returnere en falsk optimal løsning x, da der altid vil være en ret linje imellem x og x, som er indeholdt i P. Algoritmen kan således finde et tilstødende hjørnepunkt, hvor målfunktionen vil være mere optimal. Når simplex algoritmen afslutter, er det ikke længere muligt for målfunktionen at vokse yderligere. Fra korollar 3.12 på side 29 ved vi, at optimale løsninger ligger i hjørnepunkter, og løsningen returneret af simplex metoden må derfor være optimal. 3. Lineær programmering 39
48 3.7 Simplex metoden Lineær programmering
49 4 Diætproblemet Efter at have gennemgået teorien bag og løsningsmetoder til lineær programmering tager vi nu fat i et større problem med henblik på at løse det ved hjælp af simplex metoden. Problemet er et såkaldt diætproblem, som går ud på at minimere udgifterne til fødevarer samtidig med, at man får opfyldt de daglige ernæringsmæssige behov. Vi tager udgangspunkt i en mandlig studerende mellem 18 og 30 år gammel, da diætproblemet kan være relevant for studerende, der både ønsker at spare penge på at købe mad og vil have opfyldt deres anbefalede daglige tilskud (ADT). Vi stiller derfor følgende spørgsmål: Hvad er den minimale daglige udgift til fødevarer, der tilfredsstiller ADT for en mandlig studerende mellem år? 4.1 Databeskrivelse Fødevarepriserne, vi anvender, stammer fra [Danmarks Statistik, 2010] og er et offentligt tilgængeligt og begrænset eksempel på deres lister over Gennemsnitspriser på fødevarer fra en række almindelige dagligvarekæder 1. Priserne på listen er desværre forældede, da de seneste er fra februar Indholdet af næringsstoffer i fødevarer kommer fra [Saxholt et al., 2009], hvor fødevarerne er listet i sammenhæng med deres respektive næringsindhold på tabelform. Tabellen indeholder en omfattende mængde fødevarer i forhold til listen over fødevarepriser. ADT kommer fra [Langarder and Balskilde, 2006, s ], der benyttes som lærebog på Ernæringsassistentuddannelsen, og det maksimale daglige indtag kommer fra [DTU Fødevareinstituttet, 2004]. Desuden har vi brugt [Linning, 2008, s. 55] til at beregne protein, kulhydrat og fedt om til gram fra kilojoule. Vores diætproblem, formuleret i et Excel ark, er vedlagt på cd-rom bagerst i rapporten eller kan downloades på Formulering af diætproblemet som et lineært program Da vi ønsker at minimere udgifterne, består koefficienterne i målfunktionen af priserne på de udvalgte fødevarer. Gennemsnitspriserne fra Danmarks Statistik er en- 1 En komplet liste opdateres månedligt og kan mod betaling rekvireres ved Danmarks Statistik 4. Diætproblemet 41
50 4.2 Formulering af diætproblemet som et lineært program ten per kilo, per liter eller per styk. Så for at homogenisere priserne i målfunktionen omregnes priserne til pris per 100 gram af den respektive fødevare. Et eksempel på en målfunktion i diætproblemet kan være: f (x 1, x 34, x 46 ) = 1,65x 1 + 0,54x ,18x 46 Hver bibetingelse repræsenterer et næringsstof og vil således bestå af næringsindholdet i fødevarerne (f.eks. energi, protein, fedt, vitaminer, mineraler m.m.) samt de daglige ernæringsbehov en person bør indtage. Da der findes 112 næringsstoffer i [Saxholt et al., 2009], vælger vi at begrænse antallet af dem til 12 alment kendte; energi, protein, kulhydrat, fedt, vitamin; A, B6, B12, C, D og E samt jern og calcium. Et eksempel på en bibetingelse i diætproblemet kan være: 1,2x 1 + 0,03x ,03x 46 9 Da vi antager, at vi har at gøre med en 18- til 30-årig mandlig studerende, der er begrænset fysisk aktiv, skal ADT for en person, der udfører stillesiddende arbejde med begrænset fysisk aktivitet gælde jf. [Langarder and Balskilde, 2006, s. 41, 45-46]. Disse er listet i tabel 4.1. ADT Maksimum Enhed Energi * kj Protein 72,35 144,71 g Kulhydrat 361,76 434,12 g Fedt 83,11 116,35 g Vitamin A RE Vitamin B6 1,6 25 mg Vitamin B12 2,0 * µg Vitamin C mg Vitamin D 7,5 50 µg Vitamin E α-te Jern 9 25 mg Calcium mg Tabel 4.1: Dagligt ernæringsbehov for en mand mellem 18 og 30 år som udfører stillesiddende arbejde. * Intet fastslået maksimum. Hvis vi anvender matrixnotation for linære programmer, kan vi formulere problemet som: Minimer f (x) = c T x u.b.b. Ax b hvor x 0 I ovenstående er f (x) den samlede daglige omkostning for diæten, c prisvektoren Diætproblemet
51 4.3 Begrænset udsnit af diætproblemet og x diætvektoren. Vektorerne c og x er begge 68 1 søjlevektorer, da vores dataliste indeholder 68 forskellige fødevarer. A er en matrix, hvor de første 12 rækker hver repræsenterer et bestemt næringsindhold for alle fødevarer. F.eks. indeholder første række energiindholdet for hver fødevare. Disse rækker er sat i relation til de første 12 rækker i b, som repræsenterer ADT, hvilket betyder, at rækken ganget med x skal være større end eller lig med den tilsvarende række i b. De resterende 10 rækker repræsenterer på samme måde næringsindholdet for hver fødevare bortset fra energi og vitamin B12. Disse rækker er sat i relation til de sidste 10 rækker i b, som repræsenterer det maksimale indtag, hvilket betyder, at rækken ganget med x skal være mindre end eller lig med den tilsvarende række i b. De 10 sidste rækker i både A og b har negativt fortegn, idet vi anvender regneregler fra afsnit på side 24 for at vende uligheden. b er således en 22 1 søjlevektor for ADT samt det maksimale indtag. 4.3 Begrænset udsnit af diætproblemet For at forklare hvordan vores problem er bygget op, viser figur 4.1 et relativt begrænset udsnit af det lineære program. Dette udsnit består af seks variable, som er listet i tabel 4.2 med tilhørende fødevare. x 1 x 8 x 21 x 34 x 46 x 62 rugbrød hakket oksekød hamburgerryg skummetmælk Kærgården kartofler Tabel 4.2: Liste over variable i figur 4.1 Målfunktionen består af fødevarerne (variablerne x 1, x 8, x 2 1 osv.) og dets priser (koefficienterne). Da x 1 repræsenterer rugbrød, som koster 1,65 kr. per 100 gram, indføres 1,65x 1 til målfunktionen. Kærgården, x 46, koster 5,18 kr. per 100 gram, og på samme måde tilføjes 5,18x 46 til målfunktionen osv. Den første bibetingelse repræsenterer energi. Venstre side af ulighedstegnet viser indholdet af energi i de forskellige fødevarer, således at rugbrød indeholder 905 kj, og Kærgården indeholder 3003 kj. På højre side af ulighedstegnet er ADT for energi vist, som er kj. På samme måde formuleres resten af bibetingelserne. 4. Diætproblemet 43
52 4.4 Formulering i Excel Minimer f (x 1, x 8, x 21, x 34, x 46, x 62 ) = 1,65x 1 + 5,98x 8 + 6,19x ,54x ,18x ,78x 62 (Pris, kr) u.b.b. 905x x x x x x (Energi, kj) 6,2x ,3x ,4x ,5x ,4x ,9x 62 72,35 (Protein, g) 48,1x 1 + 0,8x ,7x ,4x ,3x ,75 (Kulhydrat, g) 1,3x x 8 + 4,9x ,3x ,8x ,3x 62 83,11 (Fedt, g) 12,4x 8 + 2,66x x ,833x (Vitamin A, RE) 1,2x 1 + 2,1x 8 + 0,5x ,03x ,03x ,0x 62 9 (Jern, mg) 34x 1 + 5,13x x x ,76x (Calcium, mg) hvor x 1, x 8, x 21, x 34, x 46, x 62 0 Figur 4.1: Et udsnit af diætproblemet. 4.4 Formulering i Excel Som allerede nævnt faldt valget på Microsoft Excel til formulering af det lineære program samt beregning af løsningen. Den primære årsag til dette er, at der til Excel findes tilføjelsesprogrammet Problemløser 2, som løser lineære programmer ved hjælp af simplex metoden [Microsoft Corporation, 2011]. Desuden var listen over næringsindhold allerede tilgængelig i Excel format, hvilket lettede arbejdet med at samle dataene. Dette afsnit går ikke i detalje omkring, hvordan Problemløseren anvendes, men giver kun en kort indførelse i, hvordan vi har valgt at gøre det. Sammenfletningen af dataen fra prislisten såvel som listen over næringsindhold kan findes i Excel filens Data ark. Figur 4.2 på næste side viser et lille udsnit, hvor hver række repræsenterer en fødevare, og hver kolonne indeholder information omkring den pågældende vare. For eksempel indeholder kolonne H de gennemsnitspriser, der anvendes som koefficienter til målfunktionen. Kolonne J og K indeholder tallene for henholdsvis energi og protein, som anvendes i bibetingelsernes venstreside. I alt indeholder Excel filens Data ark 68 fødevarer, hvilket kan give op til 68 variabler i det lineære program, alt efter om alle medtages. 2 Bemærk at denne funktionalitet skal installeres i Excel 2007, men er en del af Excel Diætproblemet
53 4.4 Formulering i Excel Figur 4.2: Udsnit af Excel filens Data ark. Figur 4.3 viser dialogboksen til Problemløseren. Her defineres i målcellen, at værdien af målfunktionen skal returneres i celle D2 (i Excel filens Simplex ark), og i Ved redigering af cellerne defineres, hvor værdien af hver variabel skal returneres. Det er også i denne dialogboks, at bibetingelserne defineres i alt 22 bibetingelser. Figur 4.3: Dialogboksen til problemløser. Trykkes der på knappen Løs, placeres resultaterne i deres respektive celler markeret på figur 4.4 på den følgende side. I kolonne B vises den mængde, man dagligt skal indtage af en bestemt fødevare (i 100 g). Kolonne D viser værdien af målfunktionen samt diætens beregnede næringsindtag. For sammenligningens skyld viser kolonne E det anbefalede daglige tilskud (ADT). 4. Diætproblemet 45
54 4.5 Resultater Figur 4.4: Problemløseren placerer resultaterne i de markerede celler i Simplex arket. 4.5 Resultater Når vi formulerer alle 68 variabler og 22 bibetingelser i et lineært program i Excel får vi følgende resultater: x 1 - Rugbrød x 25 - Frisk laks x 33 - Minimælk x 44 - Æg x 46 - Kærgården x 52 - Gulerødder x 65 - Broccoli 825,7 g 21,8 g 347,3 g 2,7 g 124 g 193,5 g 46,8 g Tabel 4.3: Mængden af fødevarer, man skal indtage, for at opfylde ens ernæringsbehov Tabel 4.3 viser mængden, som man skal indtage af forskellige fødevarer, for at opfylde ADT. Ved denne diæt er indtaget af kulhydrat og fedt lidt højere i forhold til protein, men er stadig indenfor de acceptable grænser. Et problem ved resultatet kan være det høje indhold af A vitamin, nærmere betegnet 2343,13 RE, i forhold til det anbefaldede 900 RE om dagen. Det er dog stadig indenfor den acceptable grænse på 3000 RE. Ved at indsætte vores resultat i målfunktionen ses det, at denne diæt koster 27,64 kr. pr. dag. 4.6 Diskussion og perspektivering Den mest iøjefaldende problematik i forbindelse med vores resultater er mængden af hver fødevare, som man ifølge vores model skal indtage dagligt. F.eks. er det knap så realistisk at kunne spise 825,7 g rugbrød hver dag, og det er besværligt kun at skulle spise 2,7 g æg. Dette kan justeres ved at indføre ekstra bibetingelser, der begrænser den daglige mængde af en bestemt fødevarer, som man kan indtage. Dette vil formentlig resultere i en mere varieret diæt Diætproblemet
55 4.6 Diskussion og perspektivering Et andet problem er uoverensstemmelserne mellem listen med priser og listen med næringsindhold. F.eks. er en fødevare på den ene liste, men ikke på den anden, og der forekommer uoverensstemmelser imellem fødevarernes navne og variationer. Derudover er listen med priser baseret på gamle priser fra 2010 og er fundet ved at betragte en kort periode mellem januar og februar. Dette betyder, at priserne ikke er specielt aktuelle. Listen med priser er også relativt kort og med flere mangler såsom pasta, ris og andre fødevarer, som kan være en stor del af kosten for en studerende pga. deres lave pris. Vores model er baseret på ADT for en rask studerende mellem 18 og 30 år, men det er muligt at tilpasse modellen til personer med bestemte krav til deres kost, f.eks. diabetikere, hjertepatienter eller vegetarer. Dette gøres ved at ændre bibetingelserne og/eller fjerne bestemte variabler, så de reflekterer ADT og kostvaner. F.eks. må en mandlig sygehuspatient mellem år kun indtage 303,88 g kulhydrat dagligt fremfor de normalt anbefalede 434,12 g og bibetingelserne kan justeres som følge heraf. For at formulere diæten for en vegetar kan man fjerne alle variabler omhandlende kød, såsom svinekød, oksekød osv. 4. Diætproblemet 47
56 4.6 Diskussion og perspektivering Diætproblemet
57 5 Opsummering I denne rapport fokuserer vi på optimering, herunder lineær programmering og simplex metoden, og redegør for det matematiske grundlag herfor. For at kunne være i stand til at studere dette beskrives først grundlæggende begreber og teorier i kapitel 1, nærmere bestemt teori om mængder og konvekse mængder samt kontinuitet af funktioner. Der er dermed grundlag for at studere optimering, som handler om at finde en optimal løsning til et givet problem. For at kunne finde optimale løsninger beskrives ekstrema for differentiable funktioner i R og i R n. Derfor indføres begreberne omkring lokale og globale ekstrema for funktioner. Dernæst benyttes teorien til at afgøre, hvor disse kan eksistere. Derudover opstilles nødvendige og tilstrækkelige betingelser for eksistens af maksima eller minima af funktioner i R n. I kapitel 3 indsnævres fokus til det specifikke område indenfor optimering, der kaldes lineær programmering. Et lineært program defineres, og det forklares, hvordan et lineært program formuleres ud fra en ikke-matematisk problemstilling. Det vises, at den tilladelige mængde til et lineært program på standard form er konveks, og at optimale løsninger forefindes i den tilladelige mængdes hjørnepunkter. Dernæst beskrives, hvordan man kan finde optimale løsninger. Her fokuseres især på simplex metoden, da denne er en af de mest effektive løsningsmetoder til lineære programmer. Simplex algoritmen beskrives, og beviset for dens validitet skitseres. Der redegøres desuden for de tilfælde, hvor simplex metoden ikke er i stand til at finde optimale løsninger. Afslutningsvis anvendes den beskrevne teori til at opstille et diætproblem baseret på konkrete data. Dette løses med simplex metoden ved hjælp af Microsoft Excel. 5. Opsummering 49
58 50 5. Opsummering
59 A Bilag A.1 Ekstrema for åbne delmængder i R n Følgende definition er baseret på [Wade, 2010, s. 435]. Vi gav i afsnit 2.2 på side 14 en definition af lokale ekstremum for mængder i R n som inkluderer randen. Følgende definition af ekstrema gælder for åbne delmængder af R n, og anvender definition 1.1 på side 4 angående kugler. DEFINITION A.1 Lad V være en åben delmængde af R n, lad a V og antag at f : V R så gælder der at: i. f (a) kaldes et lokalt minimum af f, hvis og kun hvis der er et r > 0 således at f (a) f (x) for alle x B r (a) ii. f (a) kaldes et lokalt maksimum af f, hvis og kun hvis der er et r > 0 således at f (a) f (x) for alle x B r (a) iii. f (a) kaldes et lokalt ekstremum af f, hvis og kun hvis f (a) er et lokalt maksimum eller lokalt minimum af f. Definition A.1 giver en måde at undersøge, hvorvidt en funktion f i et punkt a V, hvor V er en åben delmængde af R n, har et lokalt ekstremum, ved at undersøge om f.eks. f (a) er den største funktionsværdi i en (lille) åben kugle med centrum i a. En funktion f siges at have globalt minimum i a, hvis f (a) f (x) gælder for alle x V, og tilsvarende siges f at have globalt minimum i a, hvis f (a) f (x) gælder for alle x V. A. Bilag 51
60 A.1 Ekstrema for åbne delmængder i R n 52 A. Bilag
61 LITTERATUR Litteratur Adams, A. A. and Essex, C. (2009). Calculus: A Complete Course. Pearson Canada. Bland, R. (1977). New finite pivoting rules for the simplex method. Mathematics of Operations Research, pages Boyd, S. (2009). Convex Optimization. Cambridge University Press, New York. Tilgængelig på: Christensen, E. (2004). Konvekse mængder. Universitetsbogladen, Kbh. Tilgængelig på: Cormen, T. (2001). Introduction to algorithms. MIT electrical engineering and computer science series. MIT Press. Cottle, R. W., Eaves, B. C., and Saunders, M. A. (2011). Memorial resolution: George bernard dantzig. Tilgængelig på: [Besøgt 8. Oktober 2011]. Danmarks Statistik (2010). Gennemsnitspriser for fødevarer. Direkte dataurl: Tilgængelig på: http: // [Besøgt 26. November 2011]. Dantzig, G. (1951). Application of the simplex method to a transportation problem. Activity analysis of production and allocation, pages DTU Fødevareinstituttet (2004). Nordiske næringsstofanbefalinger Direkte url: http: // Tilgængelig på: [Besøgt 8. December 2011]. Edwards, C. and Penney, D. (2008). Calculus: early transcendentals. Pearson Prentice Hall. Goemans, M. X. (1994). Linear programming 1 an introduction to linear programming. Tilgængelig på: [Besøgt 18. Oktober 2011]. Karmarkar, N. (1984). A new polynomial-time algorithm for linear programming. In Proceedings of the sixteenth annual ACM symposium on Theory of computing, pages ACM. LITTERATUR 53
62 LITTERATUR Khachiyan, L. (1979). A polynomial algorithm for linear programming. Soviet Mathematics Doklady, pages Langarder, H. H. and Balskilde, B. (2006). Kostlære og -vurdering. Erhvervsskolernes Forlag, 3. udgave edition. Lay, D. (2006a). Linear algebra and its applications. Linear Algebra and Its Applications. Pearson/Addison-Wesley, third edition. Lay, D. (2006b). Linear algebra and its applications. Pearson/Addison-Wesley, chapter 9, third edition. Online Only. Linning, A. (2008). Ernæringslære. Erhvervsskolernes Forlag, 5. udgave edition. Luenberger, D. and Ye, Y. (2008). Linear and nonlinear programming. International series in operations research & management science. Springer. Microsoft Corporation (2011). Using solver to determine the optimal product mix. Tilgængelig på: using-solver-to-determine-the-optimal-product-mix-ha aspx [Besøgt 6. December 2011]. Saxholt, E., Christensen, A., Møller, A., Hartkopp, H., Hess Ygil, K., and Hels, O. (2009). Fødevaredatabanken - version Direkte dataurl: Tilgængelig på: [Besøgt 26. November 2011]. Shamir, R. (1987). The efficiency of the simplex method: a survey. Management Science, pages Spence, L., Insel, A., and Friedberg, S. (2007). Elementary linear algebra: a matrix approach. Prentice Hall. Wade, W. (2010). An introduction to analysis. Prentice Hall/Pearson. Wikimedia Commons (2011). Media file repository. Tilgængelig på: [Besøgt 4. Oktober 2011]. 54 LITTERATUR
Mat H /05 Note 2 10/11-04 Gerd Grubb
Mat H 1 2004/05 Note 2 10/11-04 Gerd Grubb Nødvendige og tilstrækkelige betingelser for ekstremum, konkave og konvekse funktioner. Fremstillingen i Kapitel 13.1 2 af Sydsæters bog [MA1] suppleres her med
Optimering i Moderne Portefølje Teori
Aalborg universitet P3-3. semestersprojekt Optimering i Moderne Portefølje Teori 15. december 2011 AAUINSTITUT FOR MATEMATISKE FAG TITEL: Optimering - Lineær programmering - Moderne Portefølje Teori PROJEKT
Optimeringsteori. Tenna Andersen, Tina Sørensen, Majbritt Lundborg, Søren Foged, Jeppe Gravers, Kenneth Andersen & Oskar Aver
Optimeringsteori Tenna Andersen, Tina Sørensen, Majbritt Lundborg, Søren Foged, Jeppe Gravers, Kenneth Andersen & Oskar Aver 20/12/2012 Institut for Matematiske Fag Matematik-Økonomi Fredrik Bajers Vej
LINEÆR OPTIMERING JESPER MICHAEL MØLLER. Resumé. Disse noter handler om dualitet i lineære optimeringsprogrammer.
LINEÆR OPTIMERING JESPER MICHAEL MØLLER Indhold 1 Introduktion 1 2 Kanoniske programmer 2 3 Standard programmer 2 4 Svag dualitet for standard programmer 3 5 Svag dualitet for generelle lineære programmer
Gamle eksamensopgaver (MASO)
EO 1 Gamle eksamensopgaver (MASO) Opgave 1. (Vinteren 1990 91, opgave 1) a) Vis, at rækken er divergent. b) Vis, at rækken er konvergent. Opgave 2. (Vinteren 1990 91, opgave 2) Gør rede for at ligningssystemet
G r u p p e G
M a t e m a t i s k o p t i m e r i n g ( E k s t r e m a, t e o r i o g p r a k s i s ) P 3 p r o j e k t G r u p p e G 3-1 1 7 V e j l e d e r : N i k o l a j H e s s - N i e l s e n 1 4. d e c e m b
Pointen med Differentiation
Pointen med Differentiation Frank Nasser 20. april 2011 c 2008-2011. Dette dokument må kun anvendes til undervisning i klasser som abonnerer på MatBog.dk. Se yderligere betingelser for brug her. Bemærk:
Største- og mindsteværdi Uge 11
Uge 11 : Definitioner Efterår 2009 : Definitioner Lad A R n og f : A R en reel funktion af n. : Definitioner : Definitioner Lad A R n og f : A R en reel funktion af n. Punktet a = (a 1, a 2,..., a n )
Funktion af flere variable
Funktion af flere variable Preben Alsolm 24. april 2008 1 Funktion af flere variable 1.1 Differentiabilitet for funktion af én variabel Differentiabilitet for funktion af én variabel f kaldes differentiabel
Ekstrema: Teori og praksis Ubegrænset, ikke-lineær optimering
Ekstrema: Teori og praksis Ubegrænset, ikke-lineær optimering Gruppe G3-106 Aalborg Universitet Institut for Matematiske Fag 20. december 2012 Institut for Matematiske Fag Fredrik Bajers Vej 7G 9220 Aalborg
Kalkulus 2 - Grænseovergange, Kontinuitet og Følger
Kalkulus - Grænseovergange, Kontinuitet og Følger Mads Friis 8. januar 05 Indhold Grundlæggende uligheder Grænseovergange 3 3 Kontinuitet 9 4 Følger 0 5 Perspektivering 4 Grundlæggende uligheder Sætning
Ugeseddel 12(10.12 14.12)
Ugeseddel (..) Matematisk Programmering Niels Lauritzen..7 FORELÆSNINGER I ugen. 7. gennemgik vi algoritmer til løsning af heltalsprogrammer ved hjælp af simplex algoritmen. Dette er heltalsprogrammeringsugesedlen
Introduktion til differentialregning 1. Jens Siegstad og Annegrethe Bak
Introduktion til differentialregning 1 Jens Siegstad og Annegrete Bak 16. juli 2008 1 Indledning I denne note vil vi kort introduktion til differentilregning, idet vi skal bruge teorien i et emne, Matematisk
Ekstremumsbestemmelse
Ekstremumsbestemmelse Preben Alsholm 24. november 2008 1 Ekstremumsbestemmelse 1.1 Ekstremum for funktion af én variabel: Definitioner Ekstremum for funktion af én variabel: Definitioner Punktet a kaldes
[FUNKTIONER] Hvornår kan vi kalde en sammenhæng en funktion, og hvilke egenskaber har disse i givet fald. Vers. 2.0
MaB Sct. Knud Gymnasium, Henrik S. Hansen % [FUNKTIONER] Hvornår kan vi kalde en sammenhæng en funktion, og hvilke egenskaber har disse i givet fald. Vers..0 Indhold Funktioner... Entydighed... Injektiv...
Taylors formel. Kapitel Klassiske sætninger i en dimension
Kapitel 3 Taylors formel 3.1 Klassiske sætninger i en dimension Sætning 3.1 (Rolles sætning) Lad f : [a, b] R være kontinuert, og antag at f er differentiabel i det åbne interval (a, b). Hvis f (a) = f
Lokalt ekstremum DiploMat 01905
Lokalt ekstremum DiploMat 0905 Preben Alsholm Institut for Matematik, DTU 6. oktober 00 De nition Et stationært punkt for en funktion af ere variable f vil i disse noter blive kaldt et egentligt saddelpunkt,
Differentialregning Infinitesimalregning
Udgave 2.1 Differentialregning Infinitesimalregning Noterne gennemgår begreberne differentialregning, og anskuer dette som et derligere redskab til vækst og funktioner. Noterne er supplement til kapitel
MASO Uge 11. Lineær optimering. Jesper Michael Møller. Uge 46, 2010. Formålet med MASO. Department of Mathematics University of Copenhagen
MASO Uge 11 Lineær optimering Jesper Michael Møller Department of Mathematics University of Copenhagen Uge 46, 2010 Formålet med MASO Oversigt 1 Generelle lineære programmer 2 Definition Et generelt lineært
Emneopgave: Lineær- og kvadratisk programmering:
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
GEOMETRI-TØ, UGE 6. . x 1 x 1. = x 1 x 2. x 2. k f
GEOMETRI-TØ, UGE 6 Hvis I falder over tryk- eller regne-fejl i nedenstående, må I meget gerne sende rettelser til fuglede@imfaudk Opvarmningsopgave 1 Lad f : R 2 R være tre gange kontinuert differentierbar
Matematik A. Studentereksamen. Forberedelsesmateriale til de digitale eksamensopgaver med adgang til internettet
Matematik A Studentereksamen Forberedelsesmateriale til de digitale eksamensopgaver med adgang til internettet st131-matn/a-6513 Mandag den 6 maj 13 Forberedelsesmateriale til st A Net MATEMATIK Der skal
MATEMATIK A-NIVEAU-Net Forberedelsesmateriale
STUDENTEREKSAMEN SOMMERTERMIN 13 MATEMATIK A-NIVEAU-Net Forberedelsesmateriale 6 timer med vejledning Forberedelsesmateriale til de skriftlige prøver sommertermin 13 st131-matn/a-6513 Forberedelsesmateriale
Funktion af flere variable
Funktion af flere variable Preben Alsholm 6. oktober 2008 1 Funktion af flere variable 1.1 Punktmængder i R k : Definitioner Punktmængder i flerdimensionale rum: Definitioner q Normen af x 2 R k er kxk
Supplerende opgaver. S1.3.1 Lad A, B og C være delmængder af X. Vis at
Supplerende opgaver Analyse Jørgen Vesterstrøm Forår 2004 S.3. Lad A, B og C være delmængder af X. Vis at (A B C) (A B C) (A B) C og find en nødvendig og tilstrækkelig betingelse for at der gælder lighedstegn
PeterSørensen.dk : Differentiation
PeterSørensen.dk : Differentiation Betydningen af ordet differentialkvotient...2 Sekant...2 Differentiable funktioner...3 Bestemmelse af differentialkvotient i praksis ved opgaveløsning...3 Regneregler:...3
Besvarelser til Calculus og Lineær Algebra Globale Forretningssystemer Eksamen - 8. Juni 2015
Besvarelser til Calculus og Lineær Algebra Globale Forretningssystemer Eksamen - 8. Juni 05 Mikkel Findinge Bemærk, at der kan være sneget sig fejl ind. Kontakt mig endelig, hvis du skulle falde over en
Differential- regning
Differential- regning del f(5) () f f () f ( ) I 5 () 006 Karsten Juul Indhold 6 Kontinuert funktion 7 Monotoniforhold7 8 Lokale ekstrema44 9 Grænseværdi5 Differentialregning del udgave 006 006 Karsten
Optimering af New Zealands økonomi. Gruppe G3-115
Optimering af New Zealands økonomi Gruppe G3-115 Det Teknisk-Naturvidenskabelige Fakultet Matematik og Matematik-Økonomi Frederik bajersvej 7G Telefon 99409940 http://math.aau.dk Titel: Tema: Optimering
Projekt 1.4 De reelle tal og 2. hovedsætning om kontinuitet
Projekt 1.4 De reelle tal og 2. hovedsætning om kontinuitet Mens den 1. hovedsætning om kontinuerte funktioner kom forholdsvis smertefrit ud af intervalrusebetragtninger, så er 2. hovedsætning betydeligt
En differentiabel funktion hvis afledte ikke er kontinuert Søren Knudby
24 En differentiabel funktion hvis afledte ikke er kontinuert Søren Knudby Det er velkendt for de fleste, at differentiabilitet af en reel funktion f medfører kontinuitet af f, mens det modsatte ikke gælder
11. Funktionsundersøgelse
11. Funktionsundersøgelse Hayati Balo,AAMS Følgende fremstilling er baseret på 1. Nils Victor-Jensen,Matematik for adgangskursus, B-niveau 2, 2. udg. 11.1 Generelt om funktionsundersøgelse Formålet med
Differentiabilitet. f(h) = f(x 0 +h) f(x 0 ). y = f(x) f(h) df(h) Figur 1: Tangent, tilvækst og differential. lim. df(h) = f (x 0 )h.
Differentiabilitet 1 Funktioner af én reel variabel Tilvækstfunktionen f med udgangspunkt i x 0 er en reel funktion af tilvæksten : f() = f(x 0 +) f(x 0 ). y = f(x) Tangent (x 0,f(x 0 )) df() f() x 0 x
Gult Foredrag Om Net
Gult Foredrag Om Net University of Aarhus Århus 8 th March, 2010 Introduktion I: Fra Metriske til Topologiske Rum Et metrisk rum er en mængde udstyret med en afstandsfunktion. Afstandsfunktionen bruges
matx.dk Differentialregning Dennis Pipenbring
mat.dk Differentialregning Dennis Pipenbring 0. december 00 Indold Differentialregning 3. Grænseværdi............................. 3. Kontinuitet.............................. 8 Differentialkvotienten
Funktionsterminologi
Funktionsterminologi Frank Nasser 12. april 2011 c 2008-2011. Dette dokument må kun anvendes til undervisning i klasser som abonnerer på MatBog.dk. Se yderligere betingelser for brug her. Bemærk: Dette
= λ([ x, y)) + λ((y, x]) = ( y ( x)) + (x y) = 2(x y).
Analyse 2 Øvelser Rasmus Sylvester Bryder 17. og 20. september 2013 Supplerende opgave 1 Lad λ være Lebesgue-målet på R og lad A B(R). Definér en funktion f : [0, ) R ved f(x) = λ(a [ x, x]). Vis, at f(x)
MM501 forelæsningsslides
MM50 forelæsningsslides uge 36, 2009 Produceret af Hans J. Munkholm Nogle talmængder s. 3 N = {, 2, 3, } omtales som de naturlige tal eller de positive heltal. Z = {0, ±, ±2, ±3, } omtales som de hele
Polynomier. Indhold. Georg Mohr-Konkurrencen. 1 Polynomier 2. 2 Polynomiumsdivision 4. 3 Algebraens fundamentalsætning og rødder 6
Indhold 1 Polynomier 2 Polynomier 2 Polynomiumsdivision 4 3 Algebraens fundamentalsætning og rødder 6 4 Koefficienter 8 5 Polynomier med heltallige koefficienter 9 6 Mere om polynomier med heltallige koefficienter
Mere om differentiabilitet
Mere om differentiabilitet En uddybning af side 57 i Spor - Komplekse tal Kompleks funktionsteori er et af de vigtigste emner i matematikken og samtidig et af de smukkeste I bogen har vi primært beskæftiget
Gradienter og tangentplaner
enote 16 1 enote 16 Gradienter og tangentplaner I denne enote vil vi fokusere lidt nærmere på den geometriske analyse og inspektion af funktioner af to variable. Vi vil især studere sammenhængen mellem
IKKE-LINEÆR OPTIMERING
IKKE-LINEÆR OPTIMERING JESPER MICHAEL MØLLER Indhold 1 Konvekse funktioner 1 2 Optimering uden bibetingelser 1 3 Optimering under bibetingelser givet ved ligheder 2 4 Optimering under bibetingelser givet
Analyse 2. Gennemgå bevis for Sætning Supplerende opgave 1. Øvelser. Sætning 1. For alle mængder X gælder #X < #P(X).
Analyse 2 Øvelser Rasmus Sylvester Bryder 3. og 6. september 2013 Gennemgå bevis for Sætning 2.10 Sætning 1. For alle mængder X gælder #X < #P(X). Bevis. Der findes en injektion X P(X), fx givet ved x
Punktmængdetopologi. Mikkel Stouby Petersen. 1. marts 2013
Punktmængdetopologi Mikkel Stouby Petersen 1. marts 2013 I kurset Matematisk Analyse 1 er et metrisk rum et af de mest grundlæggende begreber. Et metrisk rum (X, d) er en mængde X sammen med en metrik
Matematisk optimering. - Iterative metoder
Matematisk optimering - Iterative metoder Aalborg Universitet Institut for Matematiske fag Gruppe G3-112 MAT3 Efteråret 2012 AALBORG UNIVERSITET INSTITUT FOR MATEMATISKE FAG SYNOPSIS: TITEL: Matematisk
Potensrækker. Morten Grud Rasmussen 1 10. november 2015. Definition 1 (Potensrække). En potensrække er en uendelig række på formen
Potensrækker Morten Grud Rasmussen 1 10 november 2015 Definition og konvergens af potensrækker Definition 1 Potensrække) En potensrække er en uendelig række på formen a n pz aq n, 1) hvor afsnittene er
Introduktion til Laplace transformen (Noter skrevet af Nikolaj Hess-Nielsen sidst revideret marts 2013)
Introduktion til Laplace transformen (oter skrevet af ikolaj Hess-ielsen sidst revideret marts 23) Integration handler ikke kun om arealer. Tværtimod er integration basis for mange af de vigtigste værktøjer
UGESEDDEL 10 LØSNINGER. = f
UGESEDDEL 10 LØSNINGER Theorem 1. Algoritme for løsning af max f(x, y) når g(x, y) c. Dan Lagrange-funktionen: L (x, y) = f(x, y) λ(g(x, y) c). Beregn de partielle afledte af L og kræv at de begge er nul:
Algebra - Teori og problemløsning
Algebra - Teori og problemløsning, januar 05, Kirsten Rosenkilde. Algebra - Teori og problemløsning Kapitel -3 giver en grundlæggende introduktion til at omskrive udtryk, faktorisere og løse ligningssystemer.
Affine rum. a 1 u 1 + a 2 u 2 + a 3 u 3 = a 1 u 1 + (1 a 1 )( u 2 + a 3. + a 3. u 3 ) 1 a 1. Da a 2
Affine rum I denne note behandles kun rum over R. Alt kan imidlertid gennemføres på samme måde over C eller ethvert andet legeme. Et underrum U R n er karakteriseret ved at det er en delmængde som er lukket
MATEMATIK 11 Eksamensopgaver Juni 1995 Juni 2001, 4. fjerdedel
Juni 2000 MATEMATIK 11 Eksamensopgaver Juni 1995 Juni 2001, 4. fjerdedel Opgave 1. (a) Find den fuldstændige løsning til differentialligningen y 8y + 16y = 0. (b) Find den fuldstændige løsning til differentialligningen
Det teknisk-naturvidenskabelige basisår Matematik 1A, Efterår 2005, Hold 3 Prøveopgave B
Det teknisk-naturvidenskabelige basisår Matematik 1A, Efterår 2005, Hold 3 Opgaven består af fire dele, hver med en række spørgsmål, efterfulgt af en liste af teorispørgsmål. I alle opgavespørgsmålene
Funktioner af to variable
enote 15 1 enote 15 Funktioner af to variable I denne og i de efterfølgende enoter vil vi udvide funktionsbegrebet til at omfatte reelle funktioner af flere variable; vi starter udvidelsen med 2 variable,
Matematisk modellering og numeriske metoder. Lektion 16
Matematisk modellering og numeriske metoder Lektion 16 Morten Grud Rasmussen 6. november, 2013 1 Interpolation [Bogens afsnit 19.3 side 805] 1.1 Interpolationspolynomier Enhver kontinuert funktion f på
8 Regulære flader i R 3
8 Regulære flader i R 3 Vi skal betragte særligt pæne delmængder S R 3 kaldet flader. I det følgende opfattes S som et topologisk rum i sportopologien, se Definition 5.9. En åben omegn U af p S er således
MASO Uge 1. Relle tal Følger. Jesper Michael Møller. 10. september Department of Mathematics University of Copenhagen
MASO Uge 1 Relle tal Jesper Michael Møller Department of Mathematics University of Copenhagen 10. september 2018 Oversigt Relle tal Notation Tal Største og mindste element, mindste overtal og største undertal
EKSAMENSOPGAVELØSNINGER CALCULUS 2 (2005) JANUAR 2006 AARHUS UNIVERSITET.. Beregn den retningsafledede D u f(0, 0).
EKSAMENSOPGAVELØSNINGER CALCULUS 2 (2005) JANUAR 2006 AARHUS UNIVERSITET H.A. NIELSEN & H.A. SALOMONSEN Opgave. Lad f betegne funktionen f(x, y) = x cos(y) + y sin(x). ) Angiv gradienten f. 2) Lad u betegne
Skriftlig Eksamen Introduktion til lineær og heltalsprogrammering (DM515)
Skriftlig Eksamen Introduktion til lineær og heltalsprogrammering (DM55) Institut for Matematik & Datalogi Syddansk Universitet Tirsdag den Juni 009, kl. 9 Alle sædvanlige hjælpemidler (lærebøger, notater
Skriftlig eksamen - med besvarelse Topologi I (MM508)
INSTITUT FOR MATEMATIK OG DATALOGI SYDDANSK UNIVERSITET, ODENSE Skriftlig eksamen - med besvarelse Topologi I (MM508) Mandag d. 14. januar 2007 2 timer med alle sædvanlige hjælpemidler tilladt. Opgavesættet
MASO Uge 1. Relle tal Følger. Jesper Michael Møller. 7. september Department of Mathematics University of Copenhagen
MASO Uge 1 Relle tal Jesper Michael Møller Department of Mathematics University of Copenhagen 7. september 2016 Formålet med MASO Integer sequences Oversigt Relle tal Notation Tal Overtal og undertal Største
Besvarelser til Calculus og Lineær Algebra Globale Forretningssystemer Eksamen - 3. Juni 2014
Besvarelser til Calculus og Lineær Algebra Globale Forretningssystemer Eksamen - 3. Juni 204 Mikkel Findinge Bemærk, at der kan være sneget sig fejl ind. Kontakt mig endelig, hvis du skulle falde over
Oversigt [LA] 1, 2, 3, [S] 9.1-3
Oversigt [LA], 2, 3, [S] 9.-3 Nøgleord og begreber Koordinatvektorer, talpar, taltripler og n-tupler Linearkombination Underrum og Span Test linearkombination Lineær uafhængighed Standard vektorer Basis
Taylorudvikling I. 1 Taylorpolynomier. Preben Alsholm 3. november Definition af Taylorpolynomium
Taylorudvikling I Preben Alsholm 3. november 008 Taylorpolynomier. Definition af Taylorpolynomium Definition af Taylorpolynomium Givet en funktion f : I R! R og et udviklingspunkt x 0 I. Find et polynomium
z + w z + w z w = z 2 w z w = z w z 2 = z z = a 2 + b 2 z w
Komplekse tal Hvis z = a + ib og w = c + id gælder z + w = (a + c) + i(b + d) z w = (a c) + i(b d) z w = (ac bd) + i(ad bc) z w = a+ib c+id = ac+bd + i bc ad, w 0 c +d c +d z a b = i a +b a +b Konjugation
Mike Vandal Auerbach. Differentialregning (2) (1)
Mike Vandal Auerbach Differentialregning f () www.mathematicus.dk Differentialregning. udgave, 208 Disse noter er skrevet til matematikundervisningen på stx A- og B-niveau efter gymnasiereformen 207. Noterne
Undervisningsbeskrivelse
Undervisningsbeskrivelse Stamoplysninger til brug ved prøver til gymnasiale uddannelser Termin Jan 2016 - Juni 2019 Institution Hotel- og Restaurantskolen Uddannelse Fag og niveau Lærer(e) Hold EUX ernæringsassistent
Ekstremum for funktion af flere variable
Ekstremum for funktion af flere variable Preben Alsholm 28. april 2008 1 Ekstremum for funktion af flere variable 1.1 Hessematricen I Hessematricen I Et stationært punkt for en funktion af flere variable
20 = 2x + 2y. V (x, y) = 5xy. V (x) = 50x 5x 2.
17 Optimering 17.1 Da omkræsen skal være 0cm har vi at 0 = x + y. Rumfanget V for kassen er en funktion der afhænger af både x og y givet ved V (x, y) = 5xy. Isolerer vi y i formlen for omkredsen og indsætter
Statisk Optimering. Jesper Michael Møller
Statisk Optimering Jesper Michael Møller Matematisk Institut, Universitetsparken 5, DK2100 København E-mail address: moller@mathkudk URL: http://wwwmathkudk/~moller Indhold Kapitel 1 Ikke-lineær optimering
Lineære 1. ordens differentialligningssystemer
enote enote Lineære ordens differentialligningssystemer Denne enote beskriver ordens differentialligningssystemer og viser, hvordan de kan løses enoten er i forlængelse af enote, der beskriver lineære
Funktioner af flere variable
Funktioner af flere variable Stud. Scient. Martin Sparre Københavns Universitet 23-10-2006 Definition 1 (Definition af en funktion af flere variable). En funktion af n variable defineret på en delmængde,
GRUNDBEGREBER VEDRØRENDE TOPOLOGI, KONVERGENS OG KONTINUITET I EUKLIDISKE RUM. Gert Kjærgård Pedersen November 2002
GRUNDBEGREBER 1 GRUNDBEGREBER VEDRØRENDE TOPOLOGI, KONVERGENS OG KONTINUITET I EUKLIDISKE RUM Gert Kjærgård Pedersen November 2002 Emnerne i disse noter behandles forskellige steder i Sydsæters bøger,
Vejledende besvarelse på august 2009-sættet 2. december 2009
Vejledende besvarelse på august 29-sættet 2. december 29 Det følgende er en vejledende besvarelse på eksamenssættet i kurset Calculus, som det så ud i august 29. Den tjener primært til illustration af,
Projekt 4.9 Bernouillis differentialligning
Projekt 4.9 Bernouillis differentialligning (Dette projekt dækker læreplanens krav om supplerende stof vedr. differentialligningsmodeller. Projektet hænger godt sammen med projekt 4.0: Fiskerimodeller,
Nøgleord og begreber Lagranges metode i to variable Lagranges metode i tre variable Flere bindinger August 2000, opgave 7
Oversigt [S] 11.8 Nøgleord og begreber Lagranges metode i to variable Lagranges metode i tre variable Flere bindinger August 2000, opgave 7 Calculus 2-2006 Uge 47.2-1 Skitse [S] 11.8 Niveaukurver y f(x,y)=1
Skriftlig Eksamen Introduktion til lineær og heltalsprogrammering (DM515)
Skriftlig Eksamen Introduktion til lineær og heltalsprogrammering (DM55) Institut for Matematik & Datalogi Syddansk Universitet Mandag den 2 Juni 2008, kl. 9 Alle sædvanlige hjælpemidler (lærebøger, notater
M A T E M A T I K B 2
M A T E M A T I K B 2 M I K E A U E R B A C H WWW.MATHEMATICUS.DK (2) f a x b () Matematik B2 2. udgave, 206 Disse noter er skrevet til matematikundervisning på stx og kan frit anvendes til ikke-kommercielle
Ekstrema, Teori og Praksis
Kasper H. Christensen Andreas D. Christoffersen Christoffer Gøthgen Stine M. Jensen Kenneth V. L. Offersen Vini M. Olsen Ekstrema, Teori og Praksis - Ikke-lineæar optimeringsproblemer Vejleder: Martin
Matematisk modellering og numeriske metoder
Matematisk modellering og numeriske metoder Morten Grud Rasmussen 5. september 2016 1 Ordinære differentialligninger ODE er 1.1 ODE er helt grundlæggende Definition 1.1 (Ordinære differentialligninger).
Elementær Matematik. Funktioner og deres grafer
Elementær Matematik Funktioner og deres grafer Ole Witt-Hansen 0 Indhold. Funktioner.... Grafen for en funktion...3. grafers skæring med koordinat akser...4. To grafers skæringspunkter...4 3. Egenskaber
Matematik B2. Mike Auerbach. (2) f (1)
Matematik B2 Mike Auerbach (2) f a b () Matematik B2. udgave, 205 Disse noter er skrevet til matematikundervisning på stx og kan frit anvendes til ikke-kommercielle formål. Noterne er skrevet vha. tekstformateringsprogrammet
MASO Uge 5. Topologi i euklidiske rum. Jesper Michael Møller. Uge 5. Formålet med MASO. Department of Mathematics University of Copenhagen
MASO Uge 5 Topologi i euklidiske rum Jesper Michael Møller Department of Mathematics University of Copenhagen Uge 5 Formålet med MASO Oversigt Åbne og afsluttede mængder Det indre, det ydre, afslutningen,
