C++-program til løsning af LP-problemer vha. simplex-baseret metode

Størrelse: px
Starte visningen fra side:

Download "C++-program til løsning af LP-problemer vha. simplex-baseret metode"

Transkript

1 Handelshøjskolen i København Statistikgruppen Erhvervsøkonomi-matematik-studiets 4. semester 2003 C++-program til løsning af LP-problemer vha. simplex-baseret metode Lene Hansen leha01ad Morten Høgholm moho01ab Opponenter: Casper Rolf Garrelts, caga01ab Jesper Jensen, jeje01ae Vejleder: H. C. Pedersen Afleveret d. 5. maj 2003 Behandlet d. 22. maj 2003

2

3 Indhold Indhold i 1 Indledning 1 2 Teoretisk baggrund Simplex-metoden Dual simplex Interior-point metoden Det primale problem Det duale problem Udledning af primal-dual algoritmen Dualitetsspænd Algoritmen Testkørsler & analyse Interne test Eksterne test Præcision af algoritmerne Simplex Interior Point Ændring af iterationsskridt Ændring af tolerancer Sammenligning af algoritmerne Interior Point hastighed og iterationer Simplex hastighed og iterationer Specialtilfælde Ingen optimal løsning Lukket og ubegrænset løsningsmængde Kompakt løsningsmængde Konklusion 33 A C++-koden 35 A.1 Indledende bemærkninger A.2 Hovedprogrammet

4 ii Indhold A.3 Indsamling af data A.3.1 Maksimering eller minimering? A.3.2 Afslutning af indtastninger A.3.3 Indtastning af data fra tastaturet A.3.4 Rensning af data A Mellemrum fjernes A.3.5 Bestemmelse af ligningstype A Andre tegn fjernes A.3.6 Konvertering af data A.3.7 Slack-variable A.4 Simplex A.4.1 Præsentation af løsning A.4.2 Tjek af simplextableauet A.4.3 Udsøgning af startsøjle og -række A.4.4 Division og elimination af rækker A.4.5 Dual simplex A.5 Interior Point A.5.1 Forberedelse af Interior Point A.5.2 Interior point-algoritmen A.5.3 Funktioner i Interior Point A Invertering af matricer A.5.4 Gauss-Jordan-funktioner A.6 Hjælpefunktioner A.6.1 Ekstra informationer A.6.2 Test af programmet A.6.3 Rensning af matricer A.6.4 Udskrivning af matricer og vektorer A.6.5 Inialitisering af matricer A.6.6 Kopiering af matricer A.6.7 Andre små funktioner A.7 En hjemmestrikket header-fil Litteratur 87

5 Kapitel 1 Indledning Der findes mange forskellige typer af økonomiske problemstillinger og tilhørende løsningsmetoder. En af dem er lineære programmeringsproblemer, hvor vi har valgt at se nærmere på to af de tilhørende løsningsmetoder. Den første metode er simplex-algoritmen udviklet af G. B. Dantzig i 1947, som er standardmetoden til løsning af LP-problemer. I 1984 beviste Karmarkar, at man også kunne bruge iterationsmetoder de såkaldte indre punkts-algoritmer til løsning af LP-problemer. En sådan er primal-dual feasible-interior-point-metoden (herefter»interior Point«), som vi vil stifte nærmere bekendtskab med, da den har fået ry for at være én de mest effektive af denne række af nye algoritmer. A x 2 B E 0 E 1 C D x 1 Figur 1.1: Forskellen mellem simplex og Interior Point Baggrunden for valget af disse to løsningsmodeller er foretaget med tanke på beregningsgangene, der adskiller sig markant fra hinanden. Simplex-metoden bevæger sig systematisk gennem de brugbare basisløsninger, der udgør hjørnerne af det n-dimesionale polyeder, linjerne danner. Under denne gennemgang øges kriterieværdien langsomt indtil den optimale løsning opnås. Derimod starter indre punkts-algoritmerne i et vilkårligt punkt i det mulige løsningsområde, og med udgangspunkt i Newtons metode til løsning af ikkelineære ligninger konvergerer den mod den optimale løsning. På figur 1.1 ses basisløsninger A, B, C og D som simplex undersøger én efter en, for blot at stoppe allerede ved C, som er den optimale løsning. Interior Point-metoderne starter i en mulig løsning, fx E 0 og beregner et nyt punkt E 1, der ligger nærmere den optimale løsning. Sådan bliver det ved, indtil en optimal løsning er fundet.

6 2 Indledning Da beregningsgangene er forskellige, åbner det muligheden for at undersøge, om man i visse situationer med fordel kan anvende den ene metode fremfor den anden, eventuelt fordi den ene af metoderne simpelthen ikke kan løse problemet, eller hvis der er åbenlys forskel på tidsforbruget ved løsning af et problem. Men hvordan vil vi så gribe denne problemstilling an? Efter en implementering af de to løsningsmetoder i C++, foretages en række testkørsler, hvor følgende ønskes belyst: Er beregningsgangen rigtig? Har henholdsvis simplex og Interior Point nogle svagheder specialtilfælde? Hvordan udvikler antallet af iterationer sig for de to metoder, når problemets størrelse varieres? Hvilken indflydelse har problemets størrelse på tidsforbruget? Hvor god er præcisionen, når problemets størrelse øges? Hvilken betydning har det for resultaterne, når forskellige parametre såsom tolerancer ændres? Ud fra resultaterne af testkørslerne skulle det så være muligt at sammenligne de to metoder og give et bud på, hvornår man med fordel kan anvende den ene metode fremfor den anden. Vi har været nødt til at afgrænse implementeringen i C++ undervejs, for at det ikke skulle blive for omfattende. Simplex-metoden er afgrænset på en sådan måde, at henholdsvis simplex og dual simplex er tilgængelig i beregningsgangen. Derimod er metoder som revideret simplex, fractional cut og branch-and-bound ikke implementeret, da de ikke er nødvendige for at opnå brugbare resultater med simplex. Derudover vil der for begge løsningsmodeller højst sandsynlig være specialtilfælde, hvor der ikke kan findes en løsning. I disse tilfælde har vi valgt at angive et løsningsforslag istedet for at implementere det, selvom det sagtens kunne lade sig gøre men igen vil det blive alt for omfattende.

7 Kapitel 2 Teoretisk baggrund Herefter følger det matematiske grundlag får henholdsvis simplex- og Interior Point-metoden. Gennemgangen af simplex-metoden vil være kort, da den anses for at være velkendt fra undervisningen. Derimod vil Interior Point-metoden blive gennemgået mere omfattende, da metoden formodentlig er ukendt for de fleste. 2.1 Simplex-metoden Simplex-metoden anvendes til at løse lineære programmeringsproblemer af typen: max c 1 x 1 + +c n x n under bibetingelserne a 11 x 1 + +a 1n x n b 1... a m1 x 1 + +a mn x n b m x 1,x 2,...,x n 0 Problemet omformes til noget brugbart for simplex-metoden ved at omskrive problemet til kanonisk form. Dette gøres ved at omskrive ulighederne til ligninger ved at tilføje slack-variable. Dermed bliver problemet følgende: max c 1 x 1 + +c n x n under bibetingelserne a 11 x 1 + +a 1n x n +x n+1 = b 1... a m1 x 1 + +a mn x n +x n+m = b m x 1,x 2,...,x n+m 0

8 4 Teoretisk baggrund Ud fra ovenstående formulering kan det tilhørende simplex-tableau så opstilles: c 1 c n 0 0 b 1 a 11 a 1,n m b m a m1 a m,n m 0 1 Med udgangspunkt i simplex-tableauet kan der nu findes basisløsninger til problemet. Proceduren er følgende (Keiding, 2002): 1. Følgende skal være opfyldt for simplex-tableauet: a) Alle elementer i b-søjlen skal være positive. b) Slack-variable skal tilsammen give en basis bestående af enhedsvektorer, og det tilhørende element til basissøjlen i c- rækken skal være Dernæst skal en søjle udvælges. Dette sker ud fra følgende: a) Der skal være positive koefficienter i c-rækken. b) Den søjle med den største positive koefficient i c-rækken udvælges. c) Er der flere søjler med samme koefficient i c-rækken vælges den længst til venstre. 3. Herefter skal et pivotelement i søjlen udvælges: a) Kun de koefficienter i søjlen, som er positive, er relevante. b) Forholdetb i /a ij beregnes, og den koefficient med det mindste forhold udvælges til pivotelement. 4. Pivotsteppet udføres: a) Ved rækkeoperation ændres pivotelement til 1. b) Der skaffes 0 over og under pivotelement ved rækkeoperationer. En optimal løsning er nået, når: Alle koefficienter i c-rækken er negative eller 0. Alle elementer i b-søjlen er positive eller 0.

9 2.2. Interior-point metoden Dual simplex I tilfælde, hvor der optræder negative værdier i b-søjlen, må man anvende dual simplex. Dual simplex minder meget om simplex beregningsgangen tager bare udgangspunkt i b-søjlen istedet for c-rækken: 1. Af de negative elementer i b-søjlen vælges den række med den mindste værdi. 2. Forholdet c i /a ij i den aktuelle række beregnes, hvis både c i og a ij er negative. 3. Pivotelementet bliver den koefficient, hvor brøkenc i /a ij er mindst. 4. Herefter udføres pivotsteppet på samme måde som ved simplex. Hvis der ønskes yderligere informationer om henholdsvis simplex og dual simplex henvises til (Keiding, 2002, kapitel 2 og 3). 2.2 Interior-point metoden Interior Point løser generelt lineære programmeringsproblemer af typen min c 1 x 1 + +c n x n under bibetingelserne a 11 x 1 + +a 1n x n b 1... a m1 x 1 + +a mn x n b m x 1,x 2,...,x n 0 Bemærk, at i modsætning til simplex-metoden løser denne metode minimeringsproblemer. Baggrunden for den valgte indre-punkts metode er Newtons metode måske bedre kendt som Lagrange-metoden som anvendes til at løse ikke-lineære optimeringsproblemer (Sydsæter, 2000, kapitel 14). Den generelle formulering af et ikke-lineært optimeringsproblem er: max/min f(x 1,...,x n ) under bibetingelserne g 1 (x 1,...,x n ) = 0. g m (x 1,...,x n ) = 0..

10 6 Teoretisk baggrund Det primale problem Pga. forskellen i bibetingelserne (ligninger/uligheder) kan metoden ikke anvendes direkte på det aktuelle problem. Man er derfor nødt til at omformulere problemet, så der udelukkende gælder lighedstegn i bibetingelserne, og dette kan klares på følgende måde: min c 1 x 1 + +c n x n µ under bibetingelserne a 11 x 1 + +a 1n x n = b 1 n ln(x ij ) j=1... a m1 x 1 + +a mn x n = b m x 1,x 2,...,x n 0 Man vælger at trække en logaritmisk funktion fra, da det udelukker alle ikkepositive løsninger. Dermed kan der ses bort fra bibetingelserne x 1,x 2,...,x n 0, da de automatisk vil være opfyldt. En optimal løsning til ovenstående problem vil ikke nødvendigvis være en optimal løsning til det oprindelige problem. Det viser sig dog, at hvis µ vælges tilstrækkelig lille, vil det være en god approximation til en løsning til det oprindelige problem. Herefter defineres den tilhørende Lagrange-funktion: L(x,y) = c T x µ n ln(x j ) y T (Ax b) j=1 hvor y svarer til Lagrange-multiplikatorerne. Efterfølgende kan 1. ordens betingelserne findes: x L(x,y) = c µx 1 e A T y = 0 y L(x,y) = b Ax = 0 x > 0 Inden udledningen fortsættes, skal der gøres opmærksom på følgende notation: x x 2 0 X := diag(x) = x n

11 2.2. Interior-point metoden 7 Når der er tale om en diagonalmatrix, kan den inverse matrix findes meget let, hvis alle diagonalelementerne er forskellige fra 0: x X 1 0 x := xn 1 Herefter fortsættes der, og vektoren s = µx 1 e indføres. Hvis udtrykket for s omskrives, fås Xs = µe. Dermed kan 1. ordens betingelserne nu skrives på følgende måde: A T y +s = c Ax = b Xs = µe x > 0 s > 0 Dette resultat vil vi benytte senere hen Det duale problem Det viser sig, at man kan udføre de samme beregninger for det duale problem: max b 1 y 1 + +b m y m +µ under bibetingelserne a 11 y 1 + +a m1 y 1 +s 1 = c 1 n ln(s j ) j=1... a 1n y n + +a mn y n +s n = c n Hvis man gør dette, vil man opdage, at man får et sæt 1. ordens betingelser, som efter omordning ligner de 1. ordens betingelser, som beregningerne resulterede i ved det primale problem Udledning af primal-dual algoritmen I de to foregående afsnit er det lykkedes at omskrive henholdsvis det primale og det duale problem til ikke-lineære optimeringsproblemer, som nu kan løses ved hjælp af Newtons metode.

12 8 Teoretisk baggrund Vi indfører størrelserne γ > 0 og µ := x T s/n, hvor n er antallet af bibetingelser, og derpå definerer vi funktionen F γ : Funktionen F γ sættes lig 0 F γ (x,y,s) := Ax b A T y +s c Xs γµe F γ (x,y,s) = 0 hvilket ikke umiddelbart er til at løse. Imidlertid ved vi, at F γ kan beskrives ved Taylor-polynomiet f(x+d x ) = f(x)+ f(x)d x for d x tilstrækkelig tæt på 0. Denne ligning vil vi følgelig også gerne finde rødder for: f(x)+ f(x)d x = 0 Efter indsættelse af F γ får vi så udtrykket F γ (x,y,s) d x d y = F γ (x,y,s) d s hvilket giver de to identiske udtryk for F γ. Vi beregner nu gradienten af F γ. Ud fra ligningssystemet: F γ (x,y,s) = A A T I S 0 X F γ (x,y,s) d x d y = F γ (x,y,s) d s fås følgende: A A T I d x d y = r P r D S 0 X d s γµe Xs

13 2.2. Interior-point metoden 9 hvor r P og r D er henholdsvis residualer til det primale og det duale problem. De er defineret som r P := b Ax r D := c A T y s Hermed er vi faktisk nået til det første trin i algoritmen, som går ud på at løse dette ligningssystem. Når det er gjort, opdateres variablene, og algoritmen gentages. x+ +α d x y + s + = x y s Betydningen af faktoren α er forklaret nærmere i afsnit på næste side Dualitetsspænd Vi ved ud fra dualitetssætningens hovedtilfælde (Fuglede et al., 1999), at hvis henholdsvis det primale og det duale problem har en optimal løsning, så har de samme optimale værdi: sup(p) = inf(d) R. Når man anvender den omtalte indre punkts metode, får man som sagt en løsning, som er en approximation til den optimale løsning pga. omskrivningen af det oprindelige problem. Dermed kan funktionsværdien for henholdsvis det primale og det duale problem afvige fra hinanden det såkaldte dualitetsspænd. Hvis man beregner det dualitetsspænd, man kan forvente, når man anvender denne metode, får man følgende, hvor (x(µ), y(µ), s(µ)) er en løsning: d y d s c T x(µ) b T y(µ) = x(µ) T s(µ) = e T X(µ)s(µ) = e T (µe) = µn n er antallet af variable inklusive slack-variable. For at opnå det bedst mulige resultat er man selvfølgelig interesseret i, at dualitetsspændet bliver lig 0. Det er her, at vi indfører det ene af stopkriterierne i beregningsgangen. Det er nemlig defineret som x T s dualitetsspændet. Så ved at vælge et stopkriterium tæt på 0, opnår man, at dualitetsspændet bliver mindst muligt, og derved får man løsninger til henholdsvis det primale og det duale problem, som afviger meget lidt fra den optimale løsning til det oprindelige problem.

14 10 Teoretisk baggrund Algoritmen For at gøre metoden endnu mere tilgængelig, vil algoritmen nu blive gennemgået trin for trin (Andersen, 1998, p ). 1. x 0, y 0 og s 0 vælges, så x 0 er en mulig løsning og x 0,s 0 > 0. Antallet af elementer i x 0 og s 0 er lig antallet af variable (inkl. slackvariable), og antallet af elementer iy 0 er lig antallet af bibetingelser. Desuden vælges tolerancerne ε G,ε P,ε D > k := 0 3. Residualerne r k P og rk D og konstanten µk beregnes. 4. Hvis stopkriterierne r k P = b Axk r k D = c AT y k s k µ k = (x k ) T s k /n (x k ) T s k ε G r k P ε P r k D ε D er opfyldt, stoppes algoritmen. Ellers fortsættes. 5. Herefter vælges γ [0; 1[. 6. Derefter løses ligningssystemet A A T I S k 0 X k d x d y = d s r k P r k D γµ k e X k s k hvor henholdsvis d y, d s og d x bestemmes ud fra følgende formler AX k (S k ) 1 A T d y = b+a(s k ) 1 (X k r k D γµk e) d s = r k D AT d y d x = x k +(S k ) 1 (γµ k e X k d s ) 7. Herefter bestemmes α max ud fra følgende fremgangsmåde: α max P = min( x k j /(d x) j (d x ) j < 0) α max D = min( s k j /(d s) j (d s ) j < 0)

15 2.2. Interior-point metoden 11 Ud fra disse to værdier kan α max bestemmes α max = min(α max P,α max D ) Faktoren α har betydning for størrelsen af det skridt, vi tager hen mod løsningen. Hvis α > 1 kan vi ikke være sikre på konvergens (Andersen, 1998, p. 53). Vi bestemmer da α som α := min(θα max, 1), hvor θ = 1 γ 8. Til sidst opdateres x, y og s på følgende måde: 9. k opdateres, k = k + 1 x k+1 := x k +αd x y k+1 := y k +αd y s k+1 := s k +αd s 10. Algoritmen gentages med de opdaterede variable. Efterfølgende vil et enkelt gennemløb af algoritmen blive udført ud fra et eksempel. Eksempel 2.1 Vi betragter LP-problemet min 2x 1 3x 2 under bibetingelserne x 1 +x 2 5 3x 1 x 2 3 x 1,x 2 0 som efter omdannelse til kanonisk form, giver os følgende to vektorer og en matrix: 2 ( ) ( c = A = b = ) 0 Først vælges x, y og s. 2 ( ) x = y = s = 2 3 4

16 12 Teoretisk baggrund Tolerancerne fastsættes. ε G = ε P = ε D = Herefter bestemmes residualerne r P og r D og µ bestemmes. r P = b Ax ( 5 = 3) ( ) 2 ( ) = 2 2 r D = c A T y s ) 1 1 = ( = µ = x T s/n = ( ) 2 3 /4 = Det er oplagt, at ingen af stopkriterierne er opfyldt, så vi går videre. Vi sætter γ = 0.1, og beregner d y ud fra formlen: Først beregnes venstre side: AXS 1 A T d y = b+as 1 (Xr D γµe) L = AXS 1 A T ( ) = / / / ( ) = 0 1 / / / ( ) 1 3 ( ) 2 1/ = 2 1/ / / =

17 2.2. Interior-point metoden 13 Derefter beregnes højre side R: R = b+as 1 (Xr D γµe) ( ) ( ) AS 1 = 0 1 / / 3 0 = 1/ 2 1/ / / / Xr D γµe = = = ( ( ) / R = + 2 1/ ) 3 1 / / ( ( ) ( ) = + = 3) Det gør os nu i stand til at beregne differentialerne i Newton-metoden. Først bestemmes d y : d y = L 1 R = ( )( ) ( ) = Efter vi har bestemt d y kan vi beregne de to andre differentialer. Først d s, der skal bruges til bestemmelse af d x : d s = r D A T d y = Og endelig det sidste differentiale d x : ( ) = d x = x+s 1 (γµe Xd s )

18 14 Teoretisk baggrund γµe Xd s = = = d x = = = Vi kan nu bestemme henholdsvis α max P og α max D ( ). 2 α max P = min ,E,E, 2 2 = = ( ) 1 α max D = min , , , 4 2 = = Dermed bliver α max : Herefter bestemmes α: α max = min(α max P,α max D ) = αmax D = α = min(θα max, 1) = min ( (1 0.1) , 1 ) = Til sidst opdateres variablene: x + = x+αd x = 1 1 +α = s + = s+αd s = 2 3 +α = ( ( ) ( ) y + = y+αd y = +α = 0) Herefter gentages algoritmen på tilsvarende måde, indtil stopkriterierne er opfyldt.

19 Kapitel 3 Testkørsler & analyse På baggrund af den teoretiske gennemgang var det muligt at gennemføre implementeringen i C++, som vi dog ikke vil gennemgå her. Læseren henvises til bilag A på side 35, hvor koden er gennemgået minutiøst. Allerede her bør det nævnes, at den måde, vi konstruerer programmet på, har visse mangler. Vore arrays er nemlig statiske, hvilke C++ har en øvre størrelsesgrænse på. Der meldes fejl, når et array indeholder mere end pladser, hvilket i vores implementering betyder, at der maksimalt kan være 140 variable, hvoraf halvdelen er slack-variable. Årsagen er de arrays, der indeholder n(2 n + 1) pladser såsom simplextableauet. For n = 70 giver det pladser, mens det for n = 71 giver pladser. Dette er også grunden til at vi må forfalde til ekstrapolationer af måledata. 3.1 Interne test Ved de interne test af programmet har vi benyttet eksempler med kendte løsninger fra Keiding (2002) og Andersen (1998). Eksempel 3.1 Betragt LP-problemet (Keiding, 2002, p ) min 2x 1 +x 2 under bibetingelserne 3x 1 +x 2 3 4x 1 + 3x 2 6 x 1 + 2x 2 3 (3.1) Dette problem har optimal løsning 3/ 5 6/ 5 x = 0 0 0

20 16 Testkørsler & analyse Simplexalgoritmen finder denne løsning efter to iterationer, mens Interior Point-algoritmen med γ = 0.05, x 0 = ( 1 / 2, 1 / 2, 1, 1, 1) T efter otte iterationer finder løsningen x = Tilsvarende problemer løses også korrekt af programmet, hvorfor vi koncentrerede os om eksterne test istedet. 3.2 Eksterne test Til testkørslerne er det vigtigt, at vi kan få fat i nærmest vilkårligt store problemer, hvis løsning vi vel at mærke kender. Derfor vil det være praktisk, hvis vi kan konstruere et problem med disse egenskaber. Vort formål med dette konstruerede problem er selvfølgelig, at vi vil sikre os, at vi både kan benytte simplex såvel som Interior Point på det. Derfor må vi sørge for, at der findes både en mulig såvel som en optimal løsning, da Interior Point skal have en mulig løsning for at komme i gang. Følgende problem med n ligninger og n bibetingelser med hver n led opfylder vore krav. max (n(n+1)+1)x 1 +(n(n+1)+4)x 2 + +(n(n+4) 2)x n under bibetingelserne x 1 + 3x 2 + +(2n 1)x n n(n+1) 2x 1 + 4x nx n n(n+2) 3x 1 + 5x 2 + +(2n+1)x n n(n+3) (3.2).. nx 1 +(n+2)x 2 + +(3n 2)x n 2n 2 Efter påførsel af slack-variable x n+1,...,x 2n kan vi prøve at se, om vi kan gætte en mulig løsning. Som start kan vi sætte x 1,...,x n lig e, og vi ved, at summen σ i af koefficienterne til de første n variable i den i te.

21 3.2. Eksterne test 17 bibetingelse er lig skalarproduktet e(a i1,...,a in ) T. Vi får dermed n 1 σ i = (i+2k) = ni+2 n(n 1) = ni+n 2 n, 2 k=0 og b i = n 2 +ni, hvilket samlet giver os x n+i = b i σ i = n 2 +ni (ni+n 2 n) = n Altså kan vi med sikkerhed konstatere, at der altid findes en mulig løsning x i vektoren x 1 1 x x = x n = 1 x n+1 ṇ.. n x = x 2n Derudover har vi brug for en optimal løsning, og ikke helt overraskende viser det, at der findes en sådan. x 1 x 2. xn x n+1 x n+2. x 2n 1 x 2n = 2n 0. 0 n(n 1) n(n 2). n(n (n 1)) 0 2n 0. 0 = n(n 1) n(n 2) Problemet er selvfølgelig konstrueret på en sådan måde, at vi var sikre på at få denne løsning. Eksempel 3.2 Vi tager lige et hurtigt taleksempel med n = 3:. n 0 max 13x x x 3 under bibetingelserne x 1 + 3x 2 + 5x x 1 + 4x 2 + 6x x 1 + 5x 2 + 7x 3 18,

22 18 Testkørsler & analyse som efter omdannelse har udseendet max 13x x x 3 under bibetingelserne x 1 + 3x 2 + 5x 3 +x 4 = 12 2x 1 + 4x 2 + 6x 3 +x 5 = 15 3x 1 + 5x 2 + 7x 3 +x 6 = 18 Jf. det ovenstående eksisterer der en mulig løsning og optimal løsning x 1 1 x 2 1 x = x 3 x 4 = 1 3 x 5 3 x 6 3 x x x = x 3 x 4 = 0 3(3 1) = 0 6 x 5 3(3 2) 3 x Ovenstående problem har som nævnt den fordel, at vi både kan forudsige en mulig løsning samt den optimale løsning, og det er jo sådan set meget godt. Problemet er stadig åbent for manipulationer: Vi kan sagtens gange alle rækker igennem med en faktor ξ, idet løsningsmængden er uforandret. Vi skal senere se situationer, hvor det viser sig værdifuldt. 3.3 Præcision af algoritmerne Vi vil i det følgende beskæftige os med præcisionen af de to metoder, hvilke parametre, der spiller ind, og hvilken betydning disse parametre har.

23 3.3. Præcision af algoritmerne Simplex Kigger vi nærmere på, hvad simplexalgoritmen egentlig foretager sig, så handler det om at løse ligningssystemer vha. Gauss-Jordan. Det største problem ved denne metode er, at evt. løsninger numerisk mindre end den valgte tolerance forsvinder. Tilsvarende kan vi støde på andre problemer: Eksempel 3.3 LP-problemet max x 1 +x 2 under bibetingelsen 10 8 x x 2 1 med tolerance ε = vil fortælle os, at der ingen løsning er, selv om vi med simple midler kan se, at løsningen er x = (0, 10 8, 0) T. Årsagen er, at vi efter det første trin i algoritmen har tableauet Vores valgte tolerance medfører, at udrenses, hvorfor simplexalgoritmen stopper brat. Men når det nu giver os problemer, at vi har en sådan tolerance med, kan det så overhovedet forsvares? Svaret ligger i de afrundingsfejl, C++ laver; vi vil tit se, at der opstår værdier som ligger en lille smule ved siden af det forventede. Eksempel 3.4 Vi lader C++ beregne følgende simple udtryk: = Se vi ved jo godt, at resultatet i virkeligheden er 0, men det gør C++ ikke, omend det er meget tæt på. Eksemplet illustrerer nogle af de problemer, vi alt for ofte roder os ud i, og disse små fejl hober sig op og bliver større og større. Man kan sagtens forestille sig, hvordan den ovenstående lille fejl kunne udvikle

24 20 Testkørsler & analyse sig, hvis der var 1000 af dem i en matrix, og vi derpå udførte rækkeoperationer på den. Derfor må vi ty til en rensning af matricerne efter hvert beregningstrin, hvor vi leder efter værdier, der (numerisk) er meget små. Vi har derfor valgt en tolerance på ε = 10 14, når vi kører simplexalgoritmen, hvilket så har den konsekvens, at de numerisk største og mindste koefficienter i en bibetingelse ikke må have en forskel i størrelsesorden på mere end ε 1. I eksempel 3.3 på foregående side befandt vi os i netop denne situation. Sluttelig kan vi prøve at vurdere hvor præcis simplexalgoritmen egentlig er, når vi skruer op for antallet af variable. Efter at have ganget alle rækker med en faktor ξ = 10 4, fås de resultater, der er vist i tabel 3.1. De viser med al tydelighed konsekvensen af en stigning i antallet af variable: Den numerisk største fejl E max bliver bare større og større. Dog er der en anden ting vi bemærker: Vort testproblem har en yderst uheldig indflydelse på antallet af beregningstrin i simplexalgoritmen, forstået på den måde, at det afhænger lineært af antallet af variable. Vi har altså uforvarende skabt et worst-case-tilfælde for n = 6, 12, 18,..., men det gælder kun for ξ = n # trin E max n # trin E max Tabel 3.1: Største fejl i simplexalgoritmen som funktion af n Interior Point Interior Point-algoritmen har en del flere parametre, vi kan variere, så vi vil indledningsvist vurdere for hvilke værdier af γ, algoritmen giver det mindste antal iterationer og bagefter prøve at finde passende tolerancer Ændring af iterationsskridt Fra den teoretiske gennemgang ved vi, at et lille γ leder til en stor formindskelse af det komplementære spænd, men det kan være interessant

25 3.3. Præcision af algoritmerne 21 at undersøge hvor lille vi egentlig kan sætte γ, før det fører os ud i problemer. I tabel 3.2 ses resultaterne af en variation af γ for faste tolerancer ε P,D,G = E max angiver den numerisk største afvigelse fra den korrekte løsning. # variable n γ # iterationer E max γ # iterationer E max γ # iterationer E max γ # iterationer E max γ # iterationer E max γ # iterationer E max γ # iterationer E max γ # iterationer E max γ # iterationer E max Tabel 3.2: Ændring af γ med faste tolerancer ε P,D,G = 10 8 Resultaterne er meget interessante på flere måder. Jo tættere γ er på 1,

26 22 Testkørsler & analyse jo flere iterationer er det nødvendigt at bruge, men vi ser, at vi heller ikke hovedløst kan sætte γ vilkårligt tæt på 0. Faktisk sker der det ved γ = 10 5, at programmet går ned for n = 10, mens der for n = 20 bruges intet mindre end 35 iterationer. Yderligere bemærkes det at programmet går ned for n = 19 og n = 22, n = 18 bruger 26 iterationer og n = 21 bruger 20 iterationer. Det tyder alvorligt på, at det første trin i beregningerne simpelthen bliver for stort, hvor vi kan være uheldige at ramme nogle værdier, hvor algoritmen enten kører lidt i selvsving ellerxogsindeholder værdier, der ligger under vores udrensningstolerance (eksempel 3.4 på side 19). Dette forklarer hvorfor programmet går ned, da der derfor divideres med nul. Vi ser samme tendenser ved γ = 10 4, hvor der er noget større spring end forventet mellem iterationsantallet for n = 20 og n = 30. Man ser også, at den største afvigelse ligger en faktor 10 2 fra den nærmeste, så denne værdi af γ er for usikker. I udvælgelsen af et passende γ er der nogle andre faktorer, vi skal tage højde for. I vort testproblem er værdierne i den oprindelige A-matrix alle mindre end 1, og det viser sig at have indflydelse på resultatet. Sætter vi vores multiplikationsfaktor ξ = 0.1 ser vi, at n = 30 løses fint med stor præcision, mens n = 31 får programmet til at gå ned. Derfor har vi valgt at sætte γ = 0.05 i resten af vore testkørsler, da denne værdi sikrer, at vi får et brugbart resultat uden programnedbrud. At det så medfører nogle ekstra iterationer, er en pris vi gerne betaler Ændring af tolerancer Vi vil nu overveje tolerancernes (ε P, ε D og ε G ) betydning for præcisionen af løsningen. Ud fra de indledende testkørsler af programmet tegnede der sig et billede af, at det var ε G, der var den udslagsgivende: Hvis det stopkriterium var opfyldt, lå normen af de to residualer langt under denne tolerance. Vi har derfor valgt at sætte ε P = ε D = ε G Af tabel 3.3 på næste side lader det umiddelbart til at præcisionen bare bliver bedre i takt med at tolerancen formindskes, men for n = 30 ser vi at forskellen i præcision mellem ε G = 10 9 og ε G = er uforandret. Endvidere kan vi konstatere, at ε G = medfører E max = , ε G = medfører E max = og ε G = medfører E max = , hvilket virker lidt tilfældigt. Ved ε P,D,G = går programmet selvfølgelig ned, fordi udrensningstolerancen på spiller ind.

Emneopgave: Lineær- og kvadratisk programmering:

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

Læs mere

Note om interior point metoder

Note om interior point metoder MØK 2016, Operationsanalyse Interior point algoritmer, side 1 Note om interior point metoder Som det er nævnt i bogen, var simplex-metoden til løsning af LP-algoritmer nærmest enerådende i de første 50

Læs mere

Matricer og lineære ligningssystemer

Matricer og lineære ligningssystemer Matricer og lineære ligningssystemer Grete Ridder Ebbesen Virum Gymnasium Indhold 1 Matricer 11 Grundlæggende begreber 1 Regning med matricer 3 13 Kvadratiske matricer og determinant 9 14 Invers matrix

Læs mere

Ugeseddel 12(10.12 14.12)

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

Læs mere

Matematisk modellering og numeriske metoder. Lektion 13

Matematisk modellering og numeriske metoder. Lektion 13 Matematisk modellering og numeriske metoder Lektion 3 Morten Grud Rasmussen 3. november 206 Numerisk metode til Laplace- og Poisson-ligningerne. Finite difference-formulering af problemet I det følgende

Læs mere

Matematisk modellering og numeriske metoder. Lektion 16

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å

Læs mere

Lineære sammenhænge, residualplot og regression

Lineære sammenhænge, residualplot og regression Lineære sammenhænge, residualplot og regression Opgave 1: Er der en bagvedliggende lineær sammenhæng? I mange sammenhænge indsamler man data som man ønsker at undersøge og afdække eventuelle sammenhænge

Læs mere

Andengradsligninger. Frank Nasser. 11. juli 2011

Andengradsligninger. Frank Nasser. 11. juli 2011 Andengradsligninger Frank Nasser 11. juli 2011 2008-2011. Dette dokument må kun anvendes til undervisning i klasser som abonnerer på MatBog.dk. Se yderligere betingelser for brug her. Indhold 1 Introduktion

Læs mere

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

Læs mere

Andengradsligninger. Frank Nasser. 12. april 2011

Andengradsligninger. Frank Nasser. 12. april 2011 Andengradsligninger 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

Læs mere

π er irrationel Frank Nasser 10. december 2011

π er irrationel Frank Nasser 10. december 2011 π er irrationel Frank Nasser 10. december 2011 2008-2011. Dette dokument må kun anvendes til undervisning i klasser som abonnerer på MatBog.dk. Se yderligere betingelser for brug her. Indhold 1 Introduktion

Læs mere

Operationsanalyse. Hans Keiding

Operationsanalyse. Hans Keiding Operationsanalyse Hans Keiding Forord 7 Kapitel 1. Hvad er Operationsanalyse? 9 1. Indledning 9 2. Operationsanalysens historie 10 3. Operationsanalytiske problemer og metode 10 4. Litteratur 12 Kapitel

Læs mere

Lineære differentialligningers karakter og lineære 1. ordens differentialligninger

Lineære differentialligningers karakter og lineære 1. ordens differentialligninger enote 11 1 enote 11 Lineære differentialligningers karakter og lineære 1. ordens differentialligninger I denne note introduceres lineære differentialligninger, som er en speciel (og bekvem) form for differentialligninger.

Læs mere

Løsning af simple Ligninger

Løsning af simple Ligninger Løsning af simple Ligninger Frank Nasser 19. 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:

Læs mere

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

Læs mere

Matematisk modellering og numeriske metoder. Lektion 5

Matematisk modellering og numeriske metoder. Lektion 5 Matematisk modellering og numeriske metoder Lektion 5 Morten Grud Rasmussen 19. september, 2013 1 Euler-Cauchy-ligninger [Bogens afsnit 2.5, side 71] 1.1 De tre typer af Euler-Cauchy-ligninger Efter at

Læs mere

Noter til kursusgang 8, IMAT og IMATØ

Noter til kursusgang 8, IMAT og IMATØ Noter til kursusgang 8, IMAT og IMATØ matematik og matematik-økonomi studierne 1. basissemester Esben Høg 25. oktober 2013 Institut for Matematiske Fag Aalborg Universitet Esben Høg Noter til kursusgang

Læs mere

Chapter 5: Simplex metoden til løsning af LP. -> max problem alle uligheder af typen ì alle højresider ikke-negative alle variable ikke-negative

Chapter 5: Simplex metoden til løsning af LP. -> max problem alle uligheder af typen ì alle højresider ikke-negative alle variable ikke-negative Chapter 5: Simplex metoden til løsning af LP Formål: Udvikling af generel metode til løsning af enhver type LP. Metoden udvikles først for LP i standard form -> max problem alle uligheder af typen ì alle

Læs mere

Lineær programmering. med Derive. Børge Jørgensen

Lineær programmering. med Derive. Børge Jørgensen Lineær programmering med Derive Børge Jørgensen 1 Indholdsfortegnelse. Forord ---------------------------------------------------------------------------------- 2 Introduktion til lineær programmering

Læs mere

Chapter 3. Modulpakke 3: Egenværdier. 3.1 Indledning

Chapter 3. Modulpakke 3: Egenværdier. 3.1 Indledning Chapter 3 Modulpakke 3: Egenværdier 3.1 Indledning En vektor v har som bekendt både størrelse og retning. Hvis man ganger vektoren fra højre på en kvadratisk matrix A bliver resultatet en ny vektor. Hvis

Læs mere

Kursusgang 3 Matrixalgebra Repetition

Kursusgang 3 Matrixalgebra Repetition Kursusgang 3 Repetition - froberg@mathaaudk http://peoplemathaaudk/ froberg/oecon3 Institut for Matematiske Fag Aalborg Universitet 12 september 2008 1/12 Lineære ligningssystemer Et lineært ligningssystem

Læs mere

Klasse 1.4 Michael Jokil 03-05-2010

Klasse 1.4 Michael Jokil 03-05-2010 HTX I ROSKILDE Afsluttende opgave Kommunikation og IT Klasse 1.4 Michael Jokil 03-05-2010 Indholdsfortegnelse Indledning... 3 Formål... 3 Planlægning... 4 Kommunikationsplan... 4 Kanylemodellen... 4 Teknisk

Læs mere

LINEÆR OPTIMERING JESPER MICHAEL MØLLER. Resumé. Disse noter handler om dualitet i lineære optimeringsprogrammer.

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

Læs mere

Bedste rette linje ved mindste kvadraters metode

Bedste rette linje ved mindste kvadraters metode 1/9 Bedste rette linje ved mindste kvadraters metode - fra www.borgeleo.dk Figur 1: Tre datapunkter og den bedste rette linje bestemt af A, B og C Målepunkter og bedste rette linje I ovenstående koordinatsystem

Læs mere

Introduktion til MatLab Matematisk Modellering af Dynamiske Modeller ved Kasper Bjering Jensen, RUC, februar 2010

Introduktion til MatLab Matematisk Modellering af Dynamiske Modeller ved Kasper Bjering Jensen, RUC, februar 2010 Introduktion til MatLab Matematisk Modellering af Dynamiske Modeller ved Kasper Bjering Jensen, RUC, februar 2010 Computere er uvurderlige redskaber for personer der ønsker at arbejde med matematiske modeller

Læs mere

Algebra - Teori og problemløsning

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.

Læs mere

Selvstudium 1, Diskret matematik

Selvstudium 1, Diskret matematik Selvstudium 1, Diskret matematik Matematik på første studieår for de tekniske og naturvidenskabelige uddannelser Aalborg Universitet I dette selfstudium interesserer vi os alene for tidskompleksitet. Kompleksitet

Læs mere

Matematik for økonomer 3. semester

Matematik for økonomer 3. semester Matematik for økonomer 3. semester cand.oecon. studiet, 3. semester Planchesæt 2 - Forelæsning 3 Esben Høg Aalborg Universitet 10. september 2009 Institut for Matematiske Fag Aalborg Universitet Esben

Læs mere

Michael Jokil 11-05-2012

Michael Jokil 11-05-2012 HTX, RTG Det skrå kast Informationsteknologi B Michael Jokil 11-05-2012 Indholdsfortegnelse Indledning... 3 Teori... 3 Kravspecifikationer... 4 Design... 4 Funktionalitet... 4 Brugerflade... 4 Implementering...

Læs mere

Chapter 7: Transport-, assignment- & transshipmentproblemer

Chapter 7: Transport-, assignment- & transshipmentproblemer Chapter 7: Transport-, assignment- & transshipmentproblemer 1) Formulering af de 3 problemtyper 2) Algoritme for det balancerede transportproblem 3) Algoritme for assignmentproblemet Samtlige 3 problemtyper

Læs mere

Lineære 1. ordens differentialligningssystemer

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

Læs mere

Matematik. 1 Matematiske symboler. Hayati Balo,AAMS. August, 2014

Matematik. 1 Matematiske symboler. Hayati Balo,AAMS. August, 2014 Matematik Hayati Balo,AAMS August, 2014 1 Matematiske symboler For at udtrykke de verbale udsagn matematisk korrekt, så det bliver lettere og hurtigere at skrive, indføres en række matematiske symboler.

Læs mere

Maple. Skærmbilledet. Vi starter med at se lidt nærmere på opstartsbilledet i Maple. Værktøjslinje til indtastningsområdet. Menulinje.

Maple. Skærmbilledet. Vi starter med at se lidt nærmere på opstartsbilledet i Maple. Værktøjslinje til indtastningsområdet. Menulinje. Maple Dette kapitel giver en kort introduktion til hvordan Maple 12 kan benyttes til at løse mange af de opgaver, som man bliver mødt med i matematiktimerne på HHX. Skærmbilledet Vi starter med at se lidt

Læs mere

Operationsanalyse 1 Obligatorisk opgave 2

Operationsanalyse 1 Obligatorisk opgave 2 Operationsanalyse Obligatorisk opgave Anders Bongo Bjerg Pedersen. juni Opgave (i) Vi tilføjer først slack-variable til (P ): Minimize Z = x + x + x subject to x + x + x x 4 = x x + x x 5 = x + x x x =

Læs mere

Eksaminanderne på hf tilvalg forventes ikke at kunne udnytte grafregnerens muligheder for regression.

Eksaminanderne på hf tilvalg forventes ikke at kunne udnytte grafregnerens muligheder for regression. Bilag 3: Uddrag af Matematik 1999. Skriftlig eksamen og større skriftlig opgave ved studentereksamen og hf. Kommentarer på baggrund af censorernes tilbagemeldinger HF-tilvalgsfag (opgavesæt HF 99-8-1)

Læs mere

Kursusgang 3 Matrixalgebra Repetition

Kursusgang 3 Matrixalgebra Repetition Kursusgang 3 Repetition - froberg@math.aau.dk http://people.math.aau.dk/ froberg/oecon3 Institut for Matematiske Fag Aalborg Universitet 16. september 2008 1/19 Betingelser for nonsingularitet af en Matrix

Læs mere

Lineære 1. ordens differentialligningssystemer

Lineære 1. ordens differentialligningssystemer enote 7 enote 7 Lineære ordens differentialligningssystemer Denne enote beskriver ordens differentialligningssystemer og viser, hvordan de kan løses Der bruges egenværdier og egenvektorer i løsningsproceduren,

Læs mere

Flere ligninger med flere ukendte

Flere ligninger med flere ukendte Flere ligninger med flere ukendte Frank Villa 14. februar 2012 c 2008-2011. Dette dokument må kun anvendes til undervisning i klasser som abonnerer på MatBog.dk. Se yderligere betingelser for brug her.

Læs mere

Afstande, skæringer og vinkler i rummet

Afstande, skæringer og vinkler i rummet Afstande, skæringer og vinkler i rummet Frank Nasser 9. april 20 c 2008-20. Dette dokument må kun anvendes til undervisning i klasser som abonnerer på MatBog.dk. Se yderligere betingelser for brug her.

Læs mere

Kompendium i faget. Matematik. Tømrerafdelingen. 2. Hovedforløb. Y = ax 2 + bx + c. (x,y) Svendborg Erhvervsskole Tømrerafdelingen Niels Mark Aagaard

Kompendium i faget. Matematik. Tømrerafdelingen. 2. Hovedforløb. Y = ax 2 + bx + c. (x,y) Svendborg Erhvervsskole Tømrerafdelingen Niels Mark Aagaard Kompendium i faget Matematik Tømrerafdelingen 2. Hovedforløb. Y Y = ax 2 + bx + c (x,y) X Svendborg Erhvervsskole Tømrerafdelingen Niels Mark Aagaard Indholdsfortegnelse for H2: Undervisningens indhold...

Læs mere

Kapitel 4 Løkker i C#

Kapitel 4 Løkker i C# Kapitel 4 Løkker i C# Løkker en vigtig del af alle programmeringssprog, og C# er ikke andeles. En løkke er en måde at udføre en del af koden gentagne gange. Ideen er at du fortsætter med at udføre en opgave

Læs mere

Fejlkorligerende køder Fejlkorrigerende koder

Fejlkorligerende køder Fejlkorrigerende koder Fejlkorligerende køder Fejlkorrigerende koder Olav Geil Skal man sende en fødselsdagsgave til fætter Børge, så pakker man den godt ind i håb om, at kun indpakningen er beskadiget ved modtagelsen. Noget

Læs mere

LiA 2 Side 0. Lineær algebra 3. kursusgang

LiA 2 Side 0. Lineær algebra 3. kursusgang LiA 2 Side 0 Lineær algebra 3. kursusgang LiA 2 Side 1 Højdeforskelle. D C 0.7 0.7 0.8 E LiA 2 Side 2 Vi har tre punkter C, D og E. Højderne er h C, h D, h E. (I det følgende benævnes disse også x, y,

Læs mere

Projekt 4.6 Løsning af differentialligninger ved separation af de variable

Projekt 4.6 Løsning af differentialligninger ved separation af de variable Projekt 4.6 Løsning af differentialligninger ved separation af de variable Differentialligninger af tpen d hx () hvor hx ()er en kontinuert funktion, er som nævnt blot et stamfunktionsproblem. De løses

Læs mere

Simplex metoden til løsning af LP

Simplex metoden til løsning af LP Chapter : Simplex metoden til løsning af LP Formål: Udvikling af generel metode til løsning af enhver type LP. Metoden udvikles først for LP i standard form -> max problem alle uligheder af typen Ÿ alle

Læs mere

Afstande, skæringer og vinkler i rummet

Afstande, skæringer og vinkler i rummet Afstande, skæringer og vinkler i rummet Frank Villa 2. maj 202 c 2008-20. Dette dokument må kun anvendes til undervisning i klasser som abonnerer på MatBog.dk. Se yderligere betingelser for brug her. Indhold

Læs mere

Kursusgang 3 Matrixalgebra fortsat

Kursusgang 3 Matrixalgebra fortsat Kursusgang 3 fortsat - froberg@math.aau.dk http://people.math.aau.dk/ froberg/oecon3 Institut for Matematiske Fag Aalborg Universitet 12. september 2008 1/31 Nødvendige betingelser En nødvendig betingelse

Læs mere

Studieretningsprojekter i machine learning

Studieretningsprojekter i machine learning i machine learning 1 Introduktion Machine learning (ml) er et område indenfor kunstig intelligens, der beskæftiger sig med at konstruere programmer, der kan kan lære fra data. Tanken er at give en computer

Læs mere

Programmering for begyndere Lektion 2. Opsamling mm

Programmering for begyndere Lektion 2. Opsamling mm Lektion 2 Opsamling mm God tone Der er indlagt spørge sessioner Lektion 2 - Agenda Programmering for Lidt ændringer til teknikken, herunder hvordan du genser en lektion Lidt generelle tilbagemeldinger

Læs mere

Besvarelser til Lineær Algebra Ordinær eksamen - 6. Juni 2016

Besvarelser til Lineær Algebra Ordinær eksamen - 6. Juni 2016 Besvarelser til Lineær Algebra Ordinær eksamen - 6. Juni 2016 Mikkel Findinge Bemærk, at der kan være sneget sig fejl ind. Kontakt mig endelig, hvis du skulle falde over en sådan. Dette dokument har udelukkende

Læs mere

Fortløbende summer NMCC Danmark Muldbjergskolen 8.P

Fortløbende summer NMCC Danmark Muldbjergskolen 8.P Fortløbende summer NMCC 2018 Danmark Muldbjergskolen 8.P 1 Indholdsfortegnelse: S. 3 Vores første observationer S. 4 Ulige antal af fortløbende tal S. 6 Lige antal af fortløbende tal S. 8 Udvikling af

Læs mere

Gennemsnit og normalfordeling illustreret med terningkast, simulering og SLUMP()

Gennemsnit og normalfordeling illustreret med terningkast, simulering og SLUMP() Gennemsnit og normalfordeling illustreret med terningkast, simulering og SLUMP() John Andersen, Læreruddannelsen i Aarhus, VIA Et kast med 10 terninger gav følgende udfald Fig. 1 Result of rolling 10 dices

Læs mere

Polynomiumsbrøker og asymptoter

Polynomiumsbrøker og asymptoter Polynomiumsbrøker og asymptoter Frank Villa 9. marts 2012 c 2008-2011. Dette dokument må kun anvendes til undervisning i klasser som abonnerer på MatBog.dk. Se yderligere betingelser for brug her. Indhold

Læs mere

Fig. 1 Billede af de 60 terninger på mit skrivebord

Fig. 1 Billede af de 60 terninger på mit skrivebord Simulation af χ 2 - fordeling John Andersen Introduktion En dag kastede jeg 60 terninger Fig. 1 Billede af de 60 terninger på mit skrivebord For at danne mig et billede af hyppighederne flyttede jeg rundt

Læs mere

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

Læs mere

Ligninger med reelle løsninger

Ligninger med reelle løsninger Ligninger med reelle løsninger Når man løser ligninger, er der nogle standardmetoder som er vigtige at kende. Her er der en kort introduktion til forskellige teknikker efterfulgt af opgaver hvor man kan

Læs mere

Opgave 1. Hvilket af følgende tal er størst? Opgave 2. Hvilket af følgende tal er mindst? Opgave 3. Hvilket af følgende tal er størst?

Opgave 1. Hvilket af følgende tal er størst? Opgave 2. Hvilket af følgende tal er mindst? Opgave 3. Hvilket af følgende tal er størst? Tip til. runde af Georg Mohr-Konkurrencen Algebra Her præsenteres idéer til hvordan man løser algebraopgaver. Det er ikke en teoretisk indføring, men der er i stedet fokus på at illustrere nogle centrale

Læs mere

Grafregnerkravet på hf matematik tilvalg

Grafregnerkravet på hf matematik tilvalg Grafregnerkravet på hf matematik tilvalg Dette dokument er en sammenskrivning af uddrag af følgende skrifter: Undervisningsvejledning nr. 21 for matematik i HF (september 1995); findes på adressen: http://us.uvm.dk/gymnasie/almen/vejledninger/undervishf/hfvej21.htm;

Læs mere

Vinkelrette linjer. Frank Villa. 4. november 2014

Vinkelrette linjer. Frank Villa. 4. november 2014 Vinkelrette linjer Frank Villa 4. november 2014 Dette dokument er en del af MatBog.dk 2008-2012. IT Teaching Tools. ISBN-13: 978-87-92775-00-9. Se yderligere betingelser for brug her. Indhold 1 Introduktion

Læs mere

Besvarelser til Lineær Algebra og Calculus Globale Forretningssystemer Eksamen - 6. Juni 2016

Besvarelser til Lineær Algebra og Calculus Globale Forretningssystemer Eksamen - 6. Juni 2016 Besvarelser til Lineær Algebra og Calculus Globale Forretningssystemer Eksamen - 6 Juni 206 Mikkel Findinge Bemærk, at der kan være sneget sig fejl ind Kontakt mig endelig, hvis du skulle falde over en

Læs mere

Læring af test. Rapport for. Aarhus Analyse Skoleåret

Læring af test. Rapport for. Aarhus Analyse  Skoleåret Læring af test Rapport for Skoleåret 2016 2017 Aarhus Analyse www.aarhus-analyse.dk Introduktion Skoleledere har adgang til masser af data på deres elever. Udfordringen er derfor ikke at skaffe adgang

Læs mere

Forslag til løsning af Opgaver til afsnittet om de naturlige tal (side 80)

Forslag til løsning af Opgaver til afsnittet om de naturlige tal (side 80) Forslag til løsning af Opgaver til afsnittet om de naturlige tal (side 80) Opgave 1 Vi skal tegne alle de linjestykker, der forbinder vilkårligt valgte punkter blandt de 4 punkter. Gennem forsøg finder

Læs mere

Matematisk modellering og numeriske metoder. Lektion 8

Matematisk modellering og numeriske metoder. Lektion 8 Matematisk modellering og numeriske metoder Lektion 8 Morten Grud Rasmussen 18. oktober 216 1 Fourierrækker 1.1 Periodiske funktioner Definition 1.1 (Periodiske funktioner). En periodisk funktion f er

Læs mere

Matematik og FormLineære ligningssystemer

Matematik og FormLineære ligningssystemer Matematik og Form Lineære ligningssystemer Institut for Matematiske Fag Aalborg Universitet 2014 Ligningssystemer og matricer Til et ligningssystem svarer der en totalmatrix [A b] bestående af koefficientmatrix

Læs mere

Erik Vestergaard 1. Opgaver. i Lineære. funktioner. og modeller

Erik Vestergaard   1. Opgaver. i Lineære. funktioner. og modeller Erik Vestergaard www.matematikfsik.dk Opgaver i Lineære funktioner og modeller Erik Vestergaard www.matematikfsik.dk Erik Vestergaard, Haderslev. www.matematikfsik.dk Teknik. Aflæse forskrift fra graf...

Læs mere

Kvadratrodsberegning ved hjælp af de fire regningsarter

Kvadratrodsberegning ved hjælp af de fire regningsarter Kvadratrodsberegning ved hjælp af de fire regningsarter Tidligt i historien opstod et behov for at beregne kvadratrødder med stor nøjagtighed. Kvadratrødder optræder i forbindelse med retvinklede trekanter,

Læs mere

Lineære 1. ordens differentialligningssystemer

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

Læs mere

Et CAS program til Word.

Et CAS program til Word. Et CAS program til Word. 1 WordMat WordMat er et CAS-program (computer algebra system) som man kan downloade gratis fra hjemmesiden www.eduap.com/wordmat/. Programmet fungerer kun i Word 2007 og 2010.

Læs mere

Modulpakke 3: Lineære Ligningssystemer

Modulpakke 3: Lineære Ligningssystemer Chapter 4 Modulpakke 3: Lineære Ligningssystemer 4. Homogene systemer I teknikken møder man meget ofte modeller der leder til systemer af koblede differentialligninger. Et eksempel på et sådant system

Læs mere

Lineære sammenhænge. Udgave 2. 2009 Karsten Juul

Lineære sammenhænge. Udgave 2. 2009 Karsten Juul Lineære sammenhænge Udgave 2 y = 0,5x 2,5 2009 Karsten Juul Dette hæfte er en fortsættelse af hæftet "Variabelsammenhænge, 2. udgave 2009". Indhold 1. Lineære sammenhænge, ligning og graf... 1 2. Lineær

Læs mere

Anvendt Lineær Algebra

Anvendt Lineær Algebra Anvendt Lineær Algebra Kursusgang 3 Anita Abildgaard Sillasen Institut for Matematiske Fag AAS (I17) Anvendt Lineær Algebra 1 / 38 Vi betragter et lineært ligningssystem (af m ligninger med n ubekendte)

Læs mere

Eksempel på logistisk vækst med TI-Nspire CAS

Eksempel på logistisk vækst med TI-Nspire CAS Eksempel på logistisk vækst med TI-Nspire CAS Tabellen herunder viser udviklingen af USA's befolkning fra 1850-1910 hvor befolkningstallet er angivet i millioner: Vi har tidligere redegjort for at antallet

Læs mere

De fire elementers kostbare spejl

De fire elementers kostbare spejl Projekt.6 Lineær algebra moderne og klassisk kinesisk De fire elementers kostbare spejl "Som bekendt anses matematikken for at være en meget vigtig videnskab. Denne bog om matematik vil derfor være af

Læs mere

Lineær algebra 4. kursusgang

Lineær algebra 4. kursusgang Lineær algebra 4. kursusgang Vi betragter et lineært ligningssystem (af m ligninger med n ubekendte) Ax = b. Ligningssystemet antages at være inkonsistent (ingen løsninger) fordi tallene er fremkommet

Læs mere

3. Om skalamønstrene og den indfoldede orden

3. Om skalamønstrene og den indfoldede orden Dette er den tredje af fem artikler under den fælles overskrift Studier på grundlag af programmet SKALAGENERATOREN (forfatter: Jørgen Erichsen) 3. Om skalamønstrene og den indfoldede orden Lad os begynde

Læs mere

Fable Kom godt i gang

Fable Kom godt i gang Fable Kom godt i gang Opdateret: 26-03-2018 Indholdsfortegnelse 1. Først skal du installere programmet på din computer 3 2. Når programmet er installeret er du klar til at pakke robotten ud 4 3. Nu er

Læs mere

Matematisk modellering og numeriske metoder. Lektion 19

Matematisk modellering og numeriske metoder. Lektion 19 Matematisk modellering numeriske metoder Lektion 19 Morten Grud Rasmussen 15. november, 2013 1 Mangeskridtsmetoder til løsning af førsteordens ODE er [Bens afsnit 21.2 side 908] 1.1 Adams-Bashforth-metoder

Læs mere

Matematik: Stuktur og Form Lineære ligningssystemer

Matematik: Stuktur og Form Lineære ligningssystemer Matematik: Stuktur og Form Lineære ligningssystemer Martin Raussen Department of Mathematical Sciences Aalborg University 2016 1 / 10 Ligningssystemer og matricer Ligningssystem totalmatrix Til et ligningssystem

Læs mere

Andreas Lauge V. Hansen klasse 3.3t Roskilde HTX

Andreas Lauge V. Hansen klasse 3.3t Roskilde HTX IT -Eksamen Andreas Lauge V. Hansen klasse 3.3t Roskilde HTX [Vælg en dato] Indhold Indledning... 2 Teori... 3 Hvorfor dette design... 4 Produktet... 4 Test og afprøvning... 9 Konklusion... 10 Indledning

Læs mere

Funktioner. 1. del Karsten Juul

Funktioner. 1. del Karsten Juul Funktioner 1. del 0,6 5, 9 2018 Karsten Juul 1. Koordinater 1.1 Koordinatsystem... 1 1.2 Kvadranter... 1 1.3 Koordinater... 2 1.4 Aflæs x-koordinat... 2 1.5 Aflæs y-koordinat... 2 1.6 Koordinatsæt... 2

Læs mere

Eksponentielle sammenhænge

Eksponentielle sammenhænge Eksponentielle sammenhænge 0 1 2 3 4 5 6 7 8 9 10 11 12 13 Indholdsfortegnelse Variabel-sammenhænge... 1 1. Hvad er en eksponentiel sammenhæng?... 2 2. Forklaring med ord af eksponentiel vækst... 2, 6

Læs mere

Et udtryk på formena n kaldes en potens med grundtal a og eksponent n. Vi vil kun betragte potenser hvor grundtallet er positivt, altså a>0.

Et udtryk på formena n kaldes en potens med grundtal a og eksponent n. Vi vil kun betragte potenser hvor grundtallet er positivt, altså a>0. Konkrete funktioner Potenser Som udgangspunkt er brugen af potenser blot en forkortelse for at gange et tal med sig selv et antal gange. Hvis a Rskriver vi a 2 for a a a 3 for a a a a 4 for a a a a (1).

Læs mere

i x-aksens retning, så fås ). Forskriften for g fås altså ved i forskriften for f at udskifte alle forekomster af x med x x 0

i x-aksens retning, så fås ). Forskriften for g fås altså ved i forskriften for f at udskifte alle forekomster af x med x x 0 BAndengradspolynomier Et polynomium er en funktion på formen f ( ) = an + an + a+ a, hvor ai R kaldes polynomiets koefficienter. Graden af et polynomium er lig med den højeste potens af, for hvilket den

Læs mere

Dynamisk programmering

Dynamisk programmering Dynamisk programmering Dynamisk programmering Optimeringsproblem: man ønsker at finde bedste den kombinatoriske struktur (struktur opbygget af et endeligt antal enkeltdele) blandt mange mulige. Eksempler:

Læs mere

Matematik og Form 3. Rækkereduktion til reduceret echelonfo. Rang og nullitet

Matematik og Form 3. Rækkereduktion til reduceret echelonfo. Rang og nullitet Matematik og Form 3. Rækkereduktion til reduceret echelonform Rang og nullitet Institut for Matematiske Fag Aalborg Universitet 11.2.2013 Reduktion til (reduceret) echelonmatrix Et eksempel Et ligningssystem

Læs mere

Fang Prikkerne. Introduktion. Scratch

Fang Prikkerne. Introduktion. Scratch Scratch 2 Fang Prikkerne All Code Clubs must be registered. Registered clubs appear on the map at codeclubworld.org - if your club is not on the map then visit jumpto.cc/ccwreg to register your club. Introduktion

Læs mere

5. OPSÆTNING DOKUMENTSKABELONER 5.1 TRIN

5. OPSÆTNING DOKUMENTSKABELONER 5.1 TRIN 5. OPSÆTNING DOKUMENTSKABELONER Under fanen Dok. skabeloner kan du arbejde med de skabeloner som du har i systemet, eller du kan oprette nye. I denne vejledning kigger vi på hvordan du kan tilrette selve

Læs mere

For at få tegnet en graf trykkes på knappen for graftegning. Knap for graftegning

For at få tegnet en graf trykkes på knappen for graftegning. Knap for graftegning Graftegning på regneark. Ved hjælp af Excel regneark kan man nemt tegne grafer. Man åbner for regnearket ligger under Microsoft Office. Så indtaster man tallene fra tabellen i regnearkets celler i en vandret

Læs mere

Gamle eksamensopgaver (MASO)

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

Læs mere

Løsning til opgave 7, 9, 10 og 11C Matematik B Sommer 2014

Løsning til opgave 7, 9, 10 og 11C Matematik B Sommer 2014 Vejledning til udvalgte opgave fra Matematik B, sommer 2014 Opgave 7 Størrelsen og udbudsprisen på 100 fritidshuse på Rømø er indsamlet via boligsiden.dk. a) Grafisk præsentation, der beskriver fordelingen

Læs mere

Projekt 6.1 Rygtespredning - modellering af logistisk vækst

Projekt 6.1 Rygtespredning - modellering af logistisk vækst Projekt 6.1 Rygtespredning - modellering af logistisk vækst (Projektet anvender værktøjsprogrammet TI Nspire) Alle de tilstedeværende i klassen tildeles et nummer, så med 28 elever i klassen uddeles numrene

Læs mere

Euklids algoritme og kædebrøker

Euklids algoritme og kædebrøker Euklids algoritme og kædebrøker Michael Knudsen I denne note vil vi med Z, Q og R betegne mængden af henholdsvis de hele, de rationale og de reelle tal. Altså er { m } Z = {..., 2,, 0,, 2,...} og Q = n

Læs mere

Kom godt i gang med Fable-robotten

Kom godt i gang med Fable-robotten Kom godt i gang med Fable-robotten 1. Først skal du installere programmet på din computer. Gå ind på shaperobotics.com og under support vælger du download: Her vælger du, under PC App om du kører Windows

Læs mere

Ide med Diff. Mål. Tidsplan. 1.uge: 2.uge:

Ide med Diff. Mål. Tidsplan. 1.uge: 2.uge: Side 1 af 5 Ide med Diff. Min ide med differenertierings modulet er at lave et program som kan vise 3d objekter, og få lavede en konverter som kan konventer 3ds filer over til noget som flash kan bruge.

Læs mere

Lineær Algebra. Lars Hesselholt og Nathalie Wahl

Lineær Algebra. Lars Hesselholt og Nathalie Wahl Lineær Algebra Lars Hesselholt og Nathalie Wahl Oktober 2016 Forord Denne bog er beregnet til et første kursus i lineær algebra, men vi har lagt vægt på at fremstille dette materiale på en sådan måde,

Læs mere

Matematisk modellering og numeriske metoder. Lektion 17

Matematisk modellering og numeriske metoder. Lektion 17 Matematisk modellering og numeriske metoder Lektion 1 Morten Grud Rasmussen. december 16 1 Numerisk integration og differentiation 1.1 Simpsons regel Antag, at vi har en funktion f på intervallet I = [a,

Læs mere

Residualer i grundforløbet

Residualer i grundforløbet Erik Vestergaard www.matematikfysik.dk 1 Residualer i grundforløbet I dette lille tillæg til grundforløbet, skal vi kigge på begreberne residualer, residualplot samt residualspredning. Vi vil se, hvad

Læs mere

DesignMat Uge 1 Gensyn med forårets stof

DesignMat Uge 1 Gensyn med forårets stof DesignMat Uge 1 Gensyn med forårets stof Preben Alsholm Efterår 2010 1 Hovedpunkter fra forårets pensum 11 Taylorpolynomium Taylorpolynomium Det n te Taylorpolynomium for f med udviklingspunkt x 0 : P

Læs mere

4. Simplexmetoden. Basisløsning. x Geometrisk hovedindhold

4. Simplexmetoden. Basisløsning. x Geometrisk hovedindhold 4.1. Geometrisk hovedindhold 4. Simplexmetoden 4.1. Geometrisk hovedindhold 4.2. Opstart 4.3. Algebraisk form 4.4. Tableauform 4.5. Løse ender 4.6. Kunstige variabler og tofasemetoden 4.7. Postoptimale

Læs mere