C++-program til løsning af LP-problemer vha. simplex-baseret metode
|
|
- Gerda Karlsen
- 8 år siden
- Visninger:
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: 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 mereNote 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 mereMatricer 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 mereUgeseddel 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 mereMatematisk 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 mereMatematisk 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 mereLineæ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 mereAndengradsligninger. 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 mereBesvarelser 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 mereAndengradsligninger. 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 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 mereOperationsanalyse. 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 mereLineæ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 mereLø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 mereBesvarelser 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 mereMatematisk 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 mereNoter 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 mereChapter 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 mereLineæ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 mereChapter 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 mereKursusgang 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 mereKlasse 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 mereLINEÆ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 mereBedste 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 mereIntroduktion 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 mereAlgebra - 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 mereSelvstudium 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 mereMatematik 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 mereMichael 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 mereChapter 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 mereLineæ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 mereMatematik. 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 mereMaple. 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 mereOperationsanalyse 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 mereEksaminanderne 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 mereKursusgang 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 mereLineæ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 mereFlere 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 mereAfstande, 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 mereKompendium 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 mereKapitel 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 mereFejlkorligerende 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 mereLiA 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 mereProjekt 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 mereSimplex 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 mereAfstande, 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 mereKursusgang 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 mereStudieretningsprojekter 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 mereProgrammering 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 mereBesvarelser 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 mereFortlø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 mereGennemsnit 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 merePolynomiumsbrø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 mereFig. 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 mereMASO 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 mereLigninger 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 mereOpgave 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 mereGrafregnerkravet 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 mereVinkelrette 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 mereBesvarelser 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 mereLæ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 mereForslag 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 mereMatematisk 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 mereMatematik 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 mereErik 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 mereKvadratrodsberegning 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 mereLineæ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 mereEt 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 mereModulpakke 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 mereLineæ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 mereAnvendt 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 mereEksempel 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 mereDe 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 mereLineæ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 mere3. 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 mereFable 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 mereMatematisk 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 mereMatematik: 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 mereAndreas 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 mereFunktioner. 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 mereEksponentielle 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 mereEt 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 merei 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 mereDynamisk 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 mereMatematik 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 mereFang 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 mere5. 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 mereFor 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 mereGamle 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 mereLø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 mereProjekt 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 mereEuklids 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 mereKom 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 mereIde 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 mereLineæ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 mereMatematisk 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 mereResidualer 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 mereDesignMat 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 mere4. 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