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.

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

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

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

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

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

π 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Optimering af New Zealands økonomi. Gruppe G3-115

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

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

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

DM507 Algoritmer og datastrukturer

DM507 Algoritmer og datastrukturer DM507 Algoritmer og datastrukturer Forår 2012 Projekt, del II Institut for matematik og datalogi Syddansk Universitet 15. marts, 2012 Dette projekt udleveres i tre dele. Hver del har sin deadline, således

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

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

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

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

Lineære ligningssystemer

Lineære ligningssystemer enote 2 1 enote 2 Lineære ligningssystemer Denne enote handler om lineære ligningssystemer, om metoder til at beskrive dem og løse dem, og om hvordan man kan få overblik over løsningsmængdernes struktur.

Læs mere

Chapter 6: Følsomhedsanalyse og dualitet i LP

Chapter 6: Følsomhedsanalyse og dualitet i LP Chapter 6: Følsomhedsanalyse og dualitet i LP ) Følsomhedsanalyse -> kriteriekoeffricienter -> RHSs ) Dualitet -> økonomisk fortolkning af dualvariable -> anvendelse af dual løsning til identifikation

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

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

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

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

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

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

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

Optimering i Moderne Portefølje Teori

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

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

Kvadratisk regression

Kvadratisk regression Kvadratisk regression Helle Sørensen Institut for Matematiske Fag Københavns Universitet Juli 2011 I kapitlet om lineær regression blev det vist hvordan man kan modellere en lineær sammenhæng mellem to

Læs mere

VisiRegn: En e-bro mellem regning og algebra

VisiRegn: En e-bro mellem regning og algebra Artikel i Matematik nr. 2 marts 2001 VisiRegn: En e-bro mellem regning og algebra Inge B. Larsen Siden midten af 80 erne har vi i INFA-projektet arbejdet med at udvikle regne(arks)programmer til skolens

Læs mere

Oversigt [LA] 3, 4, 5

Oversigt [LA] 3, 4, 5 Oversigt [LA] 3, 4, 5 Nøgleord og begreber Matrix multiplikation Identitetsmatricen Transponering Fra matrix til afbildning Fra afbildning til matrix Test matrix-afbildning Inverse matricer Test invers

Læs mere

2010 Matematik 2A hold 4 : Prøveeksamen juni 2010

2010 Matematik 2A hold 4 : Prøveeksamen juni 2010 1 of 7 31-05-2010 13:18 2010 Matematik 2A hold 4 : Prøveeksamen juni 2010 Welcome Jens Mohr Mortensen [ My Profile ] View Details View Grade Help Quit & Save Feedback: Details Report [PRINT] 2010 Matematik

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

Programmering i C. Lektion 4. 5. december 2008

Programmering i C. Lektion 4. 5. december 2008 Programmering i C Lektion 4 5. december 2008 Funktioner Eksempel Fra sidst 1 Funktioner 2 Eksempel Funktioner Eksempel Eksempel: 1 / f u n k t i o n s p r o t o t y p e r / i n t i n d l a e s ( void )

Læs mere

Programmering C Eksamensprojekt. Lavet af Suayb Köse & Nikolaj Egholk Jakobsen

Programmering C Eksamensprojekt. Lavet af Suayb Köse & Nikolaj Egholk Jakobsen Programmering C Eksamensprojekt Lavet af Suayb Köse & Nikolaj Egholk Jakobsen Indledning Analyse Læring er en svær størrelse. Der er hele tiden fokus fra politikerne på, hvordan de danske skoleelever kan

Læs mere

Periodiske kædebrøker eller talspektre en introduktion til programmet periodisktalspektrum

Periodiske kædebrøker eller talspektre en introduktion til programmet periodisktalspektrum Jørgen Erichsen Periodiske kædebrøker eller talspektre en introduktion til programmet periodisktalspektrum I artikelserien Studier på grundlag af programmet SKALAGENERATOREN kommer jeg bl.a. ind på begrebet

Læs mere

Nøgleord og begreber. Definition multiplikation En m n-matrix og en n p-matrix kan multipliceres (ganges sammen) til en m p-matrix.

Nøgleord og begreber. Definition multiplikation En m n-matrix og en n p-matrix kan multipliceres (ganges sammen) til en m p-matrix. Oversigt [LA] 3, 4, 5 Matrix multiplikation Nøgleord og begreber Matrix multiplikation Identitetsmatricen Transponering Fra matrix til afbildning Fra afbildning til matrix Test matrix-afbildning Inverse

Læs mere

Definition multiplikation En m n-matrix og en n p-matrix kan multipliceres (ganges sammen) til en m p-matrix.

Definition multiplikation En m n-matrix og en n p-matrix kan multipliceres (ganges sammen) til en m p-matrix. Oversigt [LA] 3, 4, 5 Nøgleord og begreber Matrix multiplikation Identitetsmatricen Transponering Fra matrix til afbildning Fra afbildning til matrix Test matrix-afbildning Inverse matricer Test invers

Læs mere

Noter til C# Programmering Iteration

Noter til C# Programmering Iteration Noter til C# Programmering Iteration Programflow Programmer udfører det meste af deres arbejde vha. forgrening og løkker. Løkker Mange programmeringsproblemer kan løses ved at gentage en handling på de

Læs mere

Taldata 1. Chancer gennem eksperimenter

Taldata 1. Chancer gennem eksperimenter Taldata 1. Chancer gennem eksperimenter Indhold 1. Kast med to terninger 2. Et pindediagram 3. Sumtabel 4. Median og kvartiler 5. Et trappediagram 6. Gennemsnit 7. En statistik 8. Anvendelse af edb 9.

Læs mere

Introduktion til differentialregning 1. Jens Siegstad og Annegrethe Bak

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

Læs mere

Kvadratiske matricer. enote Kvadratiske matricer

Kvadratiske matricer. enote Kvadratiske matricer enote enote Kvadratiske matricer I denne enote undersøges grundlæggende egenskaber ved mængden af kvadratiske matricer herunder indførelse af en invers matrix for visse kvadratiske matricer. Det forudsættes,

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

Prøveeksamen december 2010 matematik studiet med svar

Prøveeksamen december 2010 matematik studiet med svar Første studieår Introduktion til matematiske metoder Prøveeksamen december 2010 matematik studiet med svar Varighed: 4 timer Tilladte hjælpemidler: Lærebøger, notater mv. må medbringes. Ikke tilladte hjælpemidler:

Læs mere

Økonometri: Lektion 2 Multipel Lineær Regression 1/27

Økonometri: Lektion 2 Multipel Lineær Regression 1/27 Økonometri: Lektion 2 Multipel Lineær Regression 1/27 Multipel Lineær Regression Sidst så vi på simpel lineær regression, hvor y er forklaret af én variabel. Der er intet, der forhindre os i at have mere

Læs mere

Fagets IT Introduktion til MATLAB

Fagets IT Introduktion til MATLAB Fagets IT Introduktion til MATLAB Mads G. Christensen mgc@kom.auc.dk Afdeling for Kommunikationsteknologi, Aalborg Universitet. MATLAB 2002 p.1/28 Kursusoversigt 1. Introduktion, matrix-indeksering, -operationer

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

Nummeriske Metoder. 1 Indledning. 2 Davidson metoden. Bo Thomsen, juni 2009

Nummeriske Metoder. 1 Indledning. 2 Davidson metoden. Bo Thomsen, juni 2009 Nummeriske Metoder Bo Thomsen, 20050885 25. juni 2009 1 Indledning I denne opgave søges løsninger på et relativt stort egenværdiproblem. I mit tilfælde er dette fremkommet ved at konstruere hamilton matricen

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

Funktionsterminologi

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

Læs mere

Kapitel 3 Betinget logik i C#

Kapitel 3 Betinget logik i C# Kapitel 3 i C# er udelukkende et spørgsmål om ordet IF. Det er faktisk umuligt at programmere effektivt uden at gøre brug af IF. Du kan skrive små simple programmer. Men når det bliver mere kompliceret

Læs mere

Differentiation i praksis

Differentiation i praksis Differentiation i praksis Frank Villa 7. august 2012 2008-2012. IT Teaching Tools. ISBN-13: 978-87-92775-00-9. Dette dokument må kun anvendes til undervisning i klasser som abonnerer på MatBog.dk. Se yderligere

Læs mere

Grundlæggende Matematik

Grundlæggende Matematik Grundlæggende Matematik Hayati Balo, AAMS August 2012 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

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

1 monotoni & funktionsanalyse

1 monotoni & funktionsanalyse 1 monotoni & funktionsanalyse I dag har vi grafregnere (TI89+) og programmer på computer (ex.vis Derive og Graph), hvorfor det ikke er så svært at se hvordan grafen for en matematisk funktion opfører sig

Læs mere

t a l e n t c a m p d k Matematik Intro Mads Friis, stud.scient 7. november 2015 Slide 1/25

t a l e n t c a m p d k Matematik Intro Mads Friis, stud.scient 7. november 2015 Slide 1/25 Slide 1/25 Indhold 1 2 3 4 5 6 7 8 Slide 2/25 Om undervisningen Hvorfor er vi her? Slide 3/25 Om undervisningen Hvorfor er vi her? Hvad kommer der til at ske? 1) Teoretisk gennemgang ved tavlen. 2) Instruktion

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

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

ØVEHÆFTE FOR MATEMATIK C FORMLER OG LIGNINGER

ØVEHÆFTE FOR MATEMATIK C FORMLER OG LIGNINGER ØVEHÆFTE FOR MATEMATIK C FORMLER OG LIGNINGER INDHOLDSFORTEGNELSE 0. FORMELSAMLING TIL FORMLER OG LIGNINGER... 2 Tal, regneoperationer og ligninger... 2 Isolere en ubekendt... 3 Hvis x står i første brilleglas...

Læs mere

Komplekse tal og Kaos

Komplekse tal og Kaos Komplekse tal og Kaos Jon Sporring Datalogisk Institut ved Københavns Universitet Universitetsparken 1, 2100 København Ø August, 2006 1 Forord Denne opgave er tiltænkt gymnasiestuderende med matematik

Læs mere

Der er facit på side 7 i dokumentet. Til opgaver mærket med # er der vink eller kommentarer på side 6.

Der er facit på side 7 i dokumentet. Til opgaver mærket med # er der vink eller kommentarer på side 6. Der er facit på side 7 i dokumentet. Til opgaver mærket med # er der vink eller kommentarer på side 6. 1. Figuren viser grafen for en funktion f. Aflæs definitionsmængde og værdimængde for f. # Aflæs f

Læs mere

Udeladelse af én observation. Note til kapitlerne 4, 5 og 6

Udeladelse af én observation. Note til kapitlerne 4, 5 og 6 Udeladelse af én observation Note til kapitlerne 4, 5 og 6 I de følgende resultater 1-10 bevises en række resultater, der alle vedrører udeladelse af én observation. Derved bevises og uddybes en række

Læs mere

Programmering. Det rent og skært nødvendige, det elementært nødvendige! Morten Dam Jørgensen

Programmering. Det rent og skært nødvendige, det elementært nødvendige! Morten Dam Jørgensen Programmering Det rent og skært nødvendige, det elementært nødvendige! Morten Dam Jørgensen Oversigt Undervisningen Hvad er programmering Hvordan er et program organiseret? Programmering og fysik Nobelprisen

Læs mere

Noter til C# Programmering Selektion

Noter til C# Programmering Selektion Noter til C# Programmering Selektion Sætninger Alle sætninger i C# slutter med et semikolon. En sætning kontrollerer sekvensen i programafviklingen, evaluerer et udtryk eller gør ingenting Blanktegn Mellemrum,

Læs mere

Formler, ligninger, funktioner og grafer

Formler, ligninger, funktioner og grafer Formler, ligninger, funktioner og grafer Omskrivning af formler, funktioner og ligninger... 1 Grafisk løsning af ligningssystemer... 1 To ligninger med to ubekendte beregning af løsninger... 15 Formler,

Læs mere

Lineære ligningssystemer og Gauss-elimination

Lineære ligningssystemer og Gauss-elimination Lineære ligningssystemer og Gauss-elimination Preben Alsholm 18 februar 008 1 Lineære ligningssystemer og Gauss-elimination 11 Et eksempel Et eksempel 100g mælk Komælk Fåremælk Gedemælk Protein g 6g 8g

Læs mere

Kursusarbejde 1 Grundlæggende Programmering. Arne Jørgensen, 300473-2919 klasse dm032-1a

Kursusarbejde 1 Grundlæggende Programmering. Arne Jørgensen, 300473-2919 klasse dm032-1a Kursusarbejde 1 Grundlæggende Programmering Arne Jørgensen, 300473-2919 klasse dm032-1a 3. oktober 2003 Kode //File Name: kaalhovede.cc //Author: Arne Jørgensen //Email Address: arne@arnested.dk, arnjor@niels.brock.dk

Læs mere

Ligningsløsning som det at løse gåder

Ligningsløsning som det at løse gåder Ligningsløsning som det at løse gåder Nedenstående er et skærmklip fra en TI-Nspirefil. Vi ser at tre kræmmerhuse og fem bolsjer balancerer med to kræmmerhuse og 10 bolsjer. Spørgsmålet er hvor mange bolsjer,

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

Læringsprogram. Talkonvertering. Benjamin Andreas Olander Christiansen Niclas Larsen Jens Werner Nielsen. Klasse 2.4. 1.

Læringsprogram. Talkonvertering. Benjamin Andreas Olander Christiansen Niclas Larsen Jens Werner Nielsen. Klasse 2.4. 1. Læringsprogram Talkonvertering Benjamin Andreas Olander Christiansen Niclas Larsen Jens Werner Nielsen Klasse 2.4 1. marts 2011 Fag: Vejleder: Skole: Informationsteknologi B Karl G. Bjarnason Roskilde

Læs mere

Baggrundsnote om logiske operatorer

Baggrundsnote om logiske operatorer Baggrundsnote om logiske operatorer Man kan regne på udsagn ligesom man kan regne på tal. Regneoperationerne kaldes da logiske operatorer. De tre vigtigste logiske operatorer er NOT, AND og. Den første

Læs mere

Kapitel 9. Optimering i Microsoft Excel 97/2000

Kapitel 9. Optimering i Microsoft Excel 97/2000 Kapitel 9 Optimering i Microsoft Excel 97/2000 9.1 Indledning... 164 9.2 Numerisk løsning af ligninger... 164 9.3 Optimering under bibetingelser... 164 9.4 Modelformulering... 165 9.5 Gode råd ommodellering...

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

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

Projektopgave 1. Navn: Jonas Pedersen Klasse: 3.4 Skole: Roskilde Tekniske Gymnasium Dato: 5/ Vejleder: Jørn Christian Bendtsen Fag: Matematik

Projektopgave 1. Navn: Jonas Pedersen Klasse: 3.4 Skole: Roskilde Tekniske Gymnasium Dato: 5/ Vejleder: Jørn Christian Bendtsen Fag: Matematik Projektopgave 1 Navn: Jonas Pedersen Klasse:.4 Skole: Roskilde Tekniske Gymnasium Dato: 5/9-011 Vejleder: Jørn Christian Bendtsen Fag: Matematik Indledning Jeg har i denne opgave fået følgende opstilling.

Læs mere

Projekt 10.16: Matematik og demokrati Mandatfordelinger ved sidste kommunalvalg

Projekt 10.16: Matematik og demokrati Mandatfordelinger ved sidste kommunalvalg Projekt 10.16: Matematik og demokrati Mandatfordelinger ved sidste kommunalvalg Introduktion: Vi vil nu se på et konkret eksempel på hvordan man i praksis fordeler mandaterne i et repræsentativt demokrati,

Læs mere

Projekt 3.5 faktorisering af polynomier

Projekt 3.5 faktorisering af polynomier Projekt 3.5 faktorisering af polynomier Hvilke hele tal går op i tallet 60? Det kan vi få svar på ved at skrive 60 som et produkt af sine primtal: 60 3 5 Divisorerne i 60 er lige præcis de tal, der kan

Læs mere

OVERGANGS- OG OPBYGNINGSEFFEKTER

OVERGANGS- OG OPBYGNINGSEFFEKTER OVERGANGS- OG OPBYGNINGSEFFEKTER Kan PowerPoint ikke animere, kan programmet i stedet lave overgangs- og opbygningseffekter. Ikke mindst opbygningseffekter giver rige muligheder, for at lave særdeles avancerede

Læs mere