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

Størrelse: px
Starte visningen fra side:

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

Transkript

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

2

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Emneopgave: Lineær- og kvadratisk programmering:

Emneopgave: Lineær- og kvadratisk programmering: Emneopgave: Lineær- og kvadratisk programmering: LINEÆR PROGRAMMERING I lineær programmering løser man problemer hvor man for en bestemt funktion ønsker at finde enten en maksimering eller en minimering

Læs mere

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

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

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

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

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

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

Læs mere

Kapitel 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

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

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

Numeriske metoder. Af: Alexander Bergendorff, Frederik Lundby Trebbien Rasmussen og Jonas Degn. Side 1 af 15

Numeriske metoder. Af: Alexander Bergendorff, Frederik Lundby Trebbien Rasmussen og Jonas Degn. Side 1 af 15 Numeriske metoder Af: Alexander Bergendorff, Frederik Lundby Trebbien Rasmussen og Jonas Degn Side 1 af 15 Indholdsfortegnelse Matematik forklaring... 3 Lineær regression... 3 Numerisk differentiation...

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

Broer, skak og netværk Carsten Thomassen: Naturens Verden 10, 1992, s. 388-393.

Broer, skak og netværk Carsten Thomassen: Naturens Verden 10, 1992, s. 388-393. Broer, skak og netværk Side 1 af 6 Broer, skak og netværk Carsten Thomassen: Naturens Verden 10, 1992, s. 388-393. Eksempler på praktiske anvendelser af matematik og nogle uløste problemer Indledning Figur

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

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

Kapitel 2 Tal og variable

Kapitel 2 Tal og variable Tal og variable Uden tal ingen matematik - matematik handler om tal og anvendelse af tal. Matematik beskæftiger sig ikke udelukkende med konkrete problemer fra andre fag, og de konkrete tal fra andre fagområder

Læs mere

Matrix Algebra med Excel Forelæsningsnoter til FR86. Jesper Lund mail@jesperlund.com http://www.jesperlund.com

Matrix Algebra med Excel Forelæsningsnoter til FR86. Jesper Lund mail@jesperlund.com http://www.jesperlund.com Matrix Algebra med Excel Forelæsningsnoter til FR86 Jesper Lund mail@jesperlund.com http://www.jesperlund.com 28. august 2002 1 Indledning Matrix algebra er et uundværligt redskab til økonometri, herunder

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

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

Ø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 Ligning med + - / hvor x optræder 1 gang... 3 IT-programmer

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

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

2 Erik Vestergaard www.matematikfysik.dk

2 Erik Vestergaard www.matematikfysik.dk Erik Vestergaard www.matematikfysik.dk Erik Vestergaard www.matematikfysik.dk 3 Lineære funktioner En vigtig type funktioner at studere er de såkaldte lineære funktioner. Vi skal udlede en række egenskaber

Læs mere

Kapitel 7 Matematiske vækstmodeller

Kapitel 7 Matematiske vækstmodeller Matematiske vækstmodeller I matematik undersøger man ofte variables afhængighed af hinanden. Her ser man, at samme type af sammenhænge tit forekommer inden for en lang række forskellige områder. I kapitel

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

Kursusarbejde 3 Grundlæggende Programmering

Kursusarbejde 3 Grundlæggende Programmering Kursusarbejde 3 Grundlæggende Programmering Arne Jørgensen, 300473-2919 klasse dm032-1a 21. november 2003 Indhold 1. Kode 2 1.1. forestillinger.h............................................. 2 1.2. forestillinger.cc.............................................

Læs mere

Kursusarbejde 2 Grundlæggende Programmering

Kursusarbejde 2 Grundlæggende Programmering Kursusarbejde 2 Grundlæggende Programmering Arne Jørgensen, 300473-2919 klasse dm032-1a 31. oktober 2003 Indhold 1. Kode 2 1.1. hotel.h.................................................... 2 1.2. hotel.cc...................................................

Læs mere

Oprids over grundforløbet i matematik

Oprids over grundforløbet i matematik Oprids over grundforløbet i matematik Dette oprids er tænkt som en meget kort gennemgang af de vigtigste hovedpointer vi har gennemgået i grundforløbet i matematik. Det er en kombination af at repetere

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

formler og ligninger trin 2 brikkerne til regning & matematik preben bernitt

formler og ligninger trin 2 brikkerne til regning & matematik preben bernitt brikkerne til regning & matematik formler og ligninger trin 2 preben bernitt brikkerne til regning & matematik formler og ligninger, trin 2 ISBN: 978-87-92488-09-1 1. Udgave som E-bog 2003 by bernitt-matematik.dk

Læs mere

-9-8 -7-6 -5-4 -3-2 -1 1 2 3 4 5 6 7 8 9. f(x)=2x-1 Serie 1

-9-8 -7-6 -5-4 -3-2 -1 1 2 3 4 5 6 7 8 9. f(x)=2x-1 Serie 1 En funktion beskriver en sammenhæng mellem elementer fra to mængder - en definitionsmængde = Dm(f) består af -værdier og en værdimængde = Vm(f) består af -værdier. Til hvert element i Dm(f) knttes netop

Læs mere

APPENDIX A INTRODUKTION TIL DERIVE

APPENDIX A INTRODUKTION TIL DERIVE APPENDIX A INTRODUKTION TIL DERIVE z x y z=exp( x^2 0.5y^2) CAS er en fællesbetegnelse for matematikprogrammer, som foruden numeriske beregninger også kan regne med symboler og formler. Det betyder: Computer

Læs mere

Lineær Programmering i GeoGebra Side 1 af 8

Lineær Programmering i GeoGebra Side 1 af 8 Lineær Programmering i GeoGebra Side 1 af 8 Grundlæggende find selv flere funktioner, fx i GG s indbyggede hjælpefunktion. Vær opmærksom på at grænsefladen i GeoGebra ændrer sig med tiden, da værktøjet

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

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

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

Læs mere

Projekt - Visual Basic for Applications N på stribe

Projekt - Visual Basic for Applications N på stribe Projekt - Visual Basic for Applications N på stribe Mikkel Kaas og Troels Henriksen - 03x 3. november 2005 1 Introduktion Spillet tager udgangspunkt i det gamle kendte 4 på stribe, dog med den ændring,

Læs mere

Algoritmeskabeloner: Sweep- og søgealgoritmer C#-version

Algoritmeskabeloner: Sweep- og søgealgoritmer C#-version Note til Programmeringsteknologi Akademiuddannelsen i Informationsteknologi Algoritmeskabeloner: Sweep- og søgealgoritmer C#-version Finn Nordbjerg 1/9 Indledning I det følgende introduceres et par abstrakte

Læs mere

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

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

Læs mere

Boolesk Algebra og det binære talsystem - temahæfte informatik. Oprindelse.

Boolesk Algebra og det binære talsystem - temahæfte informatik. Oprindelse. Boolesk Algebra og det binære talsystem - temahæfte informatik. I dette hæfte arbejdes der med to-tals systemet og logiske udtryk. Vi oplever at de almindelige regneregler også gælder her, og vi prøver

Læs mere

matx.dk Enkle modeller

matx.dk Enkle modeller matx.dk Enkle modeller Dennis Pipenbring 28. juni 2011 Indhold 1 Indledning 4 2 Funktionsbegrebet 4 3 Lineære funktioner 8 3.1 Bestemmelse af funktionsværdien................. 9 3.2 Grafen for en lineær

Læs mere

Dynamisk programmering

Dynamisk programmering Dynamisk programmering Dynamisk programmering Et algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer. Har en hvis lighed med divide-and-conquer: Begge opbygger løsninger til større problemer

Læs mere

Mini SRP. Afkøling. Klasse 2.4. Navn: Jacob Pihlkjær Hjortshøj, Jonatan Geysner Hvidberg og Kevin Høst Husted

Mini SRP. Afkøling. Klasse 2.4. Navn: Jacob Pihlkjær Hjortshøj, Jonatan Geysner Hvidberg og Kevin Høst Husted Mini SRP Afkøling Klasse 2.4 Navn: Jacob Pihlkjær Lærere: Jørn Christian Bendtsen og Karl G Bjarnason Roskilde Tekniske Gymnasium SO Matematik A og Informations teknologi B Dato 31/3/2014 Forord Under

Læs mere

1. Opbygning af et regneark

1. Opbygning af et regneark 1. Opbygning af et regneark Et regneark er et skema. Vandrette rækker og lodrette kolonner danner celler, hvori man kan indtaste tal, tekst, datoer og formler. De indtastede tal og data kan bearbejdes

Læs mere

og til summer af stambrøker. Bemærk: De enkelte brøker kan opskrives på flere måder som summer af stambrøker.

og til summer af stambrøker. Bemærk: De enkelte brøker kan opskrives på flere måder som summer af stambrøker. Hvad er en brøk? Når vi taler om brøker i dette projekt, mener vi tal på formen a, hvor a og b er hele tal (og b b 0 ), fx 2,, 3 og 3 7 13 1. Øvelse 1 Hvordan vil du forklare, hvad 7 er? Brøker har været

Læs mere

Differentialligninger med TI Nspire CAS version 3.1

Differentialligninger med TI Nspire CAS version 3.1 Differentialligninger med TI Nspire CAS version 3.1 Der er tilføjet en ny graftype til Graf værkstedet kaldet Diff lign. Denne nye graftype er en implementering af differentialligningerne som vi kender

Læs mere

Om brugen af matematiske tegn og objekter i en god matematisk fremstilling

Om brugen af matematiske tegn og objekter i en god matematisk fremstilling Om brugen af matematiske tegn og objekter i en god matematisk fremstilling af Petur Birgir Petersen Et særpræg ved matematik som videnskab er den udstrakte brug af symboler. Det er vigtigt at symbolerne

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

Kapitel 5 Renter og potenser

Kapitel 5 Renter og potenser Matematik C (må anvedes på Ørestad Gymnasium) Renter og potenser Når en variabel ændrer værdi, kan man spørge, hvor stor ændringen er. Her er to måder at angive ændringens størrelse. Hvis man vejer 95

Læs mere

Med TI-89 / TI-92 Plus kan du også sammenligne eller manipulere binære tal bit for bit.

Med TI-89 / TI-92 Plus kan du også sammenligne eller manipulere binære tal bit for bit. Kapitel 20: Talsystemer 20 Resumé af talsystemer... 344 Indtastning og omregning af talsystemer... 345 Udførelse af matematiske beregninger med hexadecimale og binære tal... 346 Sammenligning eller manipulation

Læs mere

Anvendt litteratur : Mat C v. Bregendal, Nitschky Schmidt og Vestergård, Systime 2005

Anvendt litteratur : Mat C v. Bregendal, Nitschky Schmidt og Vestergård, Systime 2005 Undervisningsbeskrivelse Stamoplysninger til brug ved prøver til gymnasiale uddannelser Termin juni 2011 Institution Campus Bornholm Uddannelse Fag og niveau Lærer Hold Hhx Matematik C Peter Seide 1AB

Læs mere

SÅDAN BRUGER DU REGNEARK INTRODUKTION

SÅDAN BRUGER DU REGNEARK INTRODUKTION SÅDAN BRUGER DU REGNEARK INTRODUKTION I vejledningen bruger vi det gratis program Calc fra OpenOffice som eksempel til at vise, hvordan man bruger nogle helt grundlæggende funktioner i regneark. De øvrige

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

Mini-formelsamling. Matematik 1

Mini-formelsamling. Matematik 1 Indholdsfortegnelse 1 Diverse nyttige regneregler... 1 1.1 Regneregler for brøker... 1 1.2 Potensregneregler... 1 1.3 Kvadratsætninger... 2 1.4 (Nogle) Rod-regneregler... 2 1.5 Den naturlige logaritme...

Læs mere

Tænk på a og b som to n 1 matricer. a 1 a 2 a n. For hvert i = 1,..., n har vi y i = x i β + u i.

Tænk på a og b som to n 1 matricer. a 1 a 2 a n. For hvert i = 1,..., n har vi y i = x i β + u i. Repetition af vektor-regning Økonometri: Lektion 3 Matrix-formulering Fordelingsantagelse Hypotesetest Antag vi har to n-dimensionelle (søjle)vektorer a 1 b 1 a 2 a =. og b = b 2. a n b n Tænk på a og

Læs mere

Mathcad Survival Guide

Mathcad Survival Guide Mathcad Survival Guide Mathcad er en blanding mellem et tekstbehandlingsprogram (Word), et regneark (Ecel) og en grafisk CAS-lommeregner. Programmet er velegnet til matematikopgaver, fysikrapporter og

Læs mere

Graph brugermanual til matematik C

Graph brugermanual til matematik C Graph brugermanual til matematik C Forord Efterfølgende er en guide til programmet GRAPH. Programmet kan downloades gratis fra nettet og gemmes på computeren/et usb-stik. Det betyder, det også kan anvendes

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

Simpel Lineær Regression

Simpel Lineær Regression Simpel Lineær Regression Mål: Forklare variablen y vha. variablen x. Fx forklare Salg (y) vha. Reklamebudget (x). Vi antager at sammenhængen mellem y og x er beskrevet ved y = β 0 + β 1 x + u. y: Afhængige

Læs mere

Excel tutorial om indekstal og samfundsfag 2008

Excel tutorial om indekstal og samfundsfag 2008 Excel tutorial om indekstal og samfundsfag 2008 I denne note skal vi behandle data fra CD-rommen Samfundsstatistik 2008, som indeholder en mængde data, som er relevant i samfundsfag. Vi skal specielt analysere

Læs mere

Undervisningsbeskrivelse

Undervisningsbeskrivelse Undervisningsbeskrivelse Stamoplysninger til brug ved prøver til gymnasiale uddannelser Termin Maj juni 2012 Institution Campus Vejle Uddannelse Fag og niveau Lærer(e) Hold HHX Matematik B Ejner Husum

Læs mere

Matematikkens mysterier - på et obligatorisk niveau. 1. Basis

Matematikkens mysterier - på et obligatorisk niveau. 1. Basis Matematikkens mysterier - på et obligatorisk niveau af Kenneth Hansen 1. Basis Jorden elektron Hvor mange elektroner svarer Jordens masse til? 1. Basis 1.0 Indledning 1.1 Tal 1. Brøker 1. Reduktioner 11

Læs mere

Om at finde bedste rette linie med Excel

Om at finde bedste rette linie med Excel Om at finde bedste rette linie med Excel Det er en vigtig og interessant opgave at beskrive fænomener i naturen eller i samfundet matematisk. Dels for at få en forståelse af sammenhængende indenfor det

Læs mere

Undervisningsbeskrivelse

Undervisningsbeskrivelse Undervisningsbeskrivelse Stamoplysninger til brug ved prøver til gymnasiale uddannelser Termin Sommer 2015 Institution Campus vejle Uddannelse Fag og niveau Lærer(e) Hold HHX Matematik B (Valghold) PEJE

Læs mere

Noter om Komplekse Vektorrum, Funktionsrum og Differentialligninger LinAlg 2004/05-Version af 16. Dec.

Noter om Komplekse Vektorrum, Funktionsrum og Differentialligninger LinAlg 2004/05-Version af 16. Dec. Noter om Komplekse Vektorrum, Funktionsrum og Differentialligninger LinAlg 2004/05-Version af 16. Dec. 1 Komplekse vektorrum I defininitionen af vektorrum i Afsnit 4.1 i Niels Vigand Pedersen Lineær Algebra

Læs mere

Undervisningsbeskrivelse

Undervisningsbeskrivelse Undervisningsbeskrivelse Stamoplysninger til brug ved prøver til gymnasiale uddannelser Termin Sommer 2014 Institution Campus Vejle Uddannelse HHX Fag og niveau Matematik B ( Valghold ) Lærer(e) LSP (

Læs mere

Optimering af fraværsregistrering

Optimering af fraværsregistrering Journal Optimering af fraværsregistrering Eksamensprojekt i Programmering C, klasse 3.4, 2011 AFLEVERET 09-05-2014 Indhold Abstract... Fejl! Bogmærke er ikke defineret. Problemformulering... 2 Produktet...

Læs mere

Side 1 af 10. Undervisningsbeskrivelse. Stamoplysninger til brug ved prøver til gymnasiale uddannelser. Termin Maj-juni 2009/10

Side 1 af 10. Undervisningsbeskrivelse. Stamoplysninger til brug ved prøver til gymnasiale uddannelser. Termin Maj-juni 2009/10 Undervisningsbeskrivelse Stamoplysninger til brug ved prøver til gymnasiale uddannelser Termin Maj-juni 2009/10 Institution Uddannelse Fag og niveau Lærer(e) Hold Handelsskolen Sjælland Syd, Vordingborg

Læs mere

Spil Master Mind. Indledning.

Spil Master Mind. Indledning. side 1 af 16 Indledning. Spillet som denne rapport beskriver, indgår i et større program, der er lavet som projekt i valgfaget programmering C på HTX i perioden 9/11-98 til 12/1-99. Spillet skal give de

Læs mere

Fagårsplan 10/11 Fag: Matematik Klasse: 7.ABC Lærer: Henrik Stillits. Fagområde/ emne

Fagårsplan 10/11 Fag: Matematik Klasse: 7.ABC Lærer: Henrik Stillits. Fagområde/ emne Fagårsplan 10/11 Fag: Matematik Klasse: 7.ABC Lærer: Henrik Stillits. Fagområde/ emne Matematiske færdigheder Grundlæggende færdigheder - plus, minus, gange, division (hele tal, decimaltal og brøker) Identificer

Læs mere

Løsning af tredjegradsligningen Jens Siegstad, Kasper Fabæch Brandt og Jingyu She

Løsning af tredjegradsligningen Jens Siegstad, Kasper Fabæch Brandt og Jingyu She Substitutionernes fest 53 Løsning af tredjegradsligningen Jens Siegstad, Kasper Fabæch Brandt og Jingyu She Substitution en masse Vi vil i denne artikel vise, hvorledes man kan løse den generelle tredjegradsligning

Læs mere

Komplekse tal. Mikkel Stouby Petersen 27. februar 2013

Komplekse tal. Mikkel Stouby Petersen 27. februar 2013 Komplekse tal Mikkel Stouby Petersen 27. februar 2013 1 Motivationen Historien om de komplekse tal er i virkeligheden historien om at fjerne forhindringerne og gøre det umulige muligt. For at se det, vil

Læs mere

Arbejd videre med statistik

Arbejd videre med statistik Danmarks Statistik databanker@dst.dk Arbejd videre med statistik Vejledning i PC-AXIS og Statistikbanken Danmarks Statistik juni 2003 1 www.dst.dk www.statistikbanken.dk Indholdsfortegnelse INDHOLDSFORTEGNELSE...2

Læs mere

Simulering af stokastiske fænomener med Excel

Simulering af stokastiske fænomener med Excel Simulering af stokastiske fænomener med Excel John Andersen, Læreruddannelsen i Aarhus, VIA Det kan være en ret krævende læreproces at udvikle fornemmelse for mange begreber fra sandsynlighedsregningen

Læs mere

Sikre Beregninger. Kryptologi ved Datalogisk Institut, Aarhus Universitet

Sikre Beregninger. Kryptologi ved Datalogisk Institut, Aarhus Universitet Sikre Beregninger Kryptologi ved Datalogisk Institut, Aarhus Universitet 1 Introduktion I denne note skal vi kigge på hvordan man kan regne på data med maksimal sikkerhed, dvs. uden at kigge på de tal

Læs mere

En lille vejledning til lærere og elever i at bruge matematikprogrammet WordMat (begynderniveau)

En lille vejledning til lærere og elever i at bruge matematikprogrammet WordMat (begynderniveau) Matematik i WordMat En lille vejledning til lærere og elever i at bruge matematikprogrammet WordMat (begynderniveau) Indholdsfortegnelse 1. Introduktion... 3 2. Beregning... 4 3. Beregning med brøker...

Læs mere

MODUL 8. Differensligninger. Forfattere: Michael ELMEGÅRD & Øistein WIND-WILLASSEN. Modulet er baseret på noter af Peter BEELEN.

MODUL 8. Differensligninger. Forfattere: Michael ELMEGÅRD & Øistein WIND-WILLASSEN. Modulet er baseret på noter af Peter BEELEN. MODUL 8 Differensligninger Forfattere: Michael ELMEGÅRD & Øistein WIND-WILLASSEN Modulet er baseret på noter af Peter BEELEN. 26. august 2014 2 Indhold 1 Introduktion 5 1.1 Rekursioner og differensligninger.........................

Læs mere

LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wparam, LPARAM lparam) { int wmid, wmevent; programmering med

LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wparam, LPARAM lparam) { int wmid, wmevent; programmering med LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wparam, LPARAM lparam) int wmid, wmevent; PAINTSTRUCT Introduktion ps; til HDC hdc; programmering med switch (message) case WM_COMMAND: wmid = LOWORD(wParam);

Læs mere

Matematik. Trinmål 2. Nordvestskolen 2006 Forord. Trinmål 2 (4. 6. klasse)

Matematik. Trinmål 2. Nordvestskolen 2006 Forord. Trinmål 2 (4. 6. klasse) Matematik Trinmål 2 Nordvestskolen 2006 Forord Forord For at sikre kvaliteten og fagligheden i folkeskolen har Undervisningsministeriet udarbejdet faghæfter til samtlige fag i folkeskolen med bindende

Læs mere

ALMINDELIGT ANVENDTE FUNKTIONER

ALMINDELIGT ANVENDTE FUNKTIONER ALMINDELIGT ANVENDTE FUNKTIONER I dette kapitel gennemgås de almindelige regnefunktioner, samt en række af de mest nødvendige redigerings- og formateringsfunktioner. De øvrige redigerings- og formateringsfunktioner

Læs mere

EVALUERING I SURVEYXACT TRIN FOR TRIN

EVALUERING I SURVEYXACT TRIN FOR TRIN EVALUERING I SURVEYXACT TRIN FOR TRIN LÆR AT TACKLE 2015 KOMITEEN FOR SUNDHEDSOPLYSNING 1 INDLEDNING Komiteen for Sundhedsoplysning stiller SurveyXact et internetbaseret redskab til kvalitetssikring til

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

Introduktion til Calc Open Office med øvelser

Introduktion til Calc Open Office med øvelser Side 1 af 8 Introduktion til Calc Open Office med øvelser Introduktion til Calc Open Office... 2 Indtastning i celler... 2 Formler... 3 Decimaler... 4 Skrifttype... 5 Skrifteffekter... 6 Justering... 6

Læs mere

Lektion 1 Grundliggende regning

Lektion 1 Grundliggende regning Lektion 1 Grundliggende regning Indholdsfortegnelse Indholdsfortegnelse... Plus, minus, gange og division - brug af regnemaskine... Talsystemets opbygning - afrunding af tal... Store tal og negative tal...

Læs mere

Spørgeskemaundersøgelser og databehandling

Spørgeskemaundersøgelser og databehandling DASG. Nye veje i statistik og sandsynlighedsregning. side 1 af 12 Spørgeskemaundersøgelser og databehandling Disse noter er udarbejdet i forbindelse med et tværfagligt samarbejde mellem matematik og samfundsfag

Læs mere

Brugervejledning til Graph

Brugervejledning til Graph Graph (brugervejledning) side 1/17 Steen Toft Jørgensen Brugervejledning til Graph Graph er et gratis program, som ikke fylder meget. Downloades på: www.padowan.dk/graph/. Programmet er lavet af Ivan Johansen,

Læs mere

Programmering i C Intro og grundlæggende C 5. marts 2007

Programmering i C Intro og grundlæggende C 5. marts 2007 Programmering i C Intro og grundlæggende C 5. marts 2007 Mads Pedersen, OZ6HR mads@oz6hr.dk Plan for kurset Ma. 5/3: Ma. 19/3: Ma. 2/4: To. 12/4: Formål, intro, grundlæggende Videre, sprogkonstruktioner

Læs mere

How to do in rows and columns 8

How to do in rows and columns 8 INTRODUKTION TIL REGNEARK Denne artikel handler generelt om, hvad regneark egentlig er, og hvordan det bruges på et principielt plan. Indholdet bør derfor kunne anvendes uden hensyn til, hvilken version

Læs mere

Hvad er meningen? Et forløb om opinionsundersøgelser

Hvad er meningen? Et forløb om opinionsundersøgelser Hvad er meningen? Et forløb om opinionsundersøgelser Jette Rygaard Poulsen, Frederikshavn Gymnasium og HF-kursus Hans Vestergaard, Frederikshavn Gymnasium og HF-kursus Søren Lundbye-Christensen, AAU 17-10-2004

Læs mere

BOSK F2011, 1. del: Induktion

BOSK F2011, 1. del: Induktion P(0) ( n N. P(n) P(n + 1) ) = ( n N. P(n) ) February 15, 2011 Summa summarum Vi får et tip om at følgende kunne finde på at holde for n N: n N. n i = n(n + 1). 2 Vi husker at summation læses meget som

Læs mere

Undervisningsbeskrivelse

Undervisningsbeskrivelse Undervisningsbeskrivelse Stamoplysninger til brug ved prøver til gymnasiale uddannelser Termin Maj / juni 2014 Institution Campus Vejle Uddannelse Fag og niveau Lærer(e) Hold HHX Matematik C Lene Thygesen

Læs mere

1. Kræfter. 2. Gravitationskræfter

1. Kræfter. 2. Gravitationskræfter 1 M1 Isaac Newton 1. Kræfter Vi vil starte med at se på kræfter. Vi ved fra vores hverdag, at der i mange daglige situationer optræder kræfter. Skal man fx. cykle op ad en bakke, bliver man nødt til at

Læs mere

Indhold. Selandia-CEU Side 2

Indhold. Selandia-CEU Side 2 Excel 2007 Indhold Excel 2007... 4 Start Excel... 4 Luk Excel... 4 Skærmbilledet i Excel 2007... 5 Titellinjen... 5 Båndet... 5 Formellinjen... 6 Celler... 6 Ark... 7 Mus og markør... 7 Fyldhåndtaget...

Læs mere

Rekursion C#-version

Rekursion C#-version Note til Programmeringsteknologi Akademiuddannn i Informationsteknologi Rekursion C#-version Finn Nordbjerg 1 Rekursion Rekursionsbegrebet bygger på, at man beskriver noget ved "sig selv". Fx. kan tallet

Læs mere

Computerundervisning

Computerundervisning Frederiksberg Seminarium Computerundervisning Koordinatsystemer og funktioner Elevmateriale 30-01-2009 Udarbejdet af: Pernille Suhr Poulsen Christina Klitlyng Julie Nielsen Opgaver GeoGebra Om at genkende

Læs mere

Temaopgave i statistik for

Temaopgave i statistik for Temaopgave i statistik for matematik B og A Indhold Opgave 1. Kast med 12 terninger 20 gange i praksis... 3 Opgave 2. Kast med 12 terninger teoretisk... 4 Opgave 3. Kast med 12 terninger 20 gange simulering...

Læs mere

De danske huspriser. homes husprisindeks. 180 Realkreditrådet. Home s Danske Husprisindeks. Danmarks Statistik. 80 www.danskebank.

De danske huspriser. homes husprisindeks. 180 Realkreditrådet. Home s Danske Husprisindeks. Danmarks Statistik. 80 www.danskebank. De danske huspriser homes husprisindeks København den 1. sept. 7 For yderligere information: Steen Bocian, Danske Bank +5 5 1 5 31, stbo@danskebank.dk Niels H. Carstensen, home +5 15 3 nica@home.dk Den

Læs mere

18. december 2013 Mat B eksamen med hjælpemidler Peter Harremoës. P = 100 x 0.6 y 0.4 1000 = 100 x 0.6 y 0.4 10 = x 0.6 y 0.4 10 y 0.4 = x 0.

18. december 2013 Mat B eksamen med hjælpemidler Peter Harremoës. P = 100 x 0.6 y 0.4 1000 = 100 x 0.6 y 0.4 10 = x 0.6 y 0.4 10 y 0.4 = x 0. Opgave 6 Vi sætter P = 1000 og isolerer x i ligningen Se Bilag 2! P = 100 x 0.6 y 0.4 1000 = 100 x 0.6 y 0.4 10 = x 0.6 y 0.4 10 y 0.4 = x 0.6 ( 10 y 0.4 )1 /0.6 = x 10 1 /0.6 y 0.4 /0.6 = x x = 10 5 /3

Læs mere

Statistik i GeoGebra

Statistik i GeoGebra Statistik i GeoGebra Peter Harremoës 13. maj 2015 Jeg vil her beskrive hvordan man kan lave forskellige statistiske analyser ved hjælp af GeoGebra 4.2.60.0. De statistiske analyser svarer til pensum Matematik

Læs mere

poedit og oversættelse af sprogfiler

poedit og oversættelse af sprogfiler poedit og oversættelse af sprogfiler af Georg S. Adamsen WordPress.Blogos.dk 2009 http://kortlink.dk/wordpressblogosdk/6g38 1 af 11 14-04-2009 14:55 Jeg får af og til spørgsmål om, hvordan man bruger poedit,

Læs mere

Åben uddannelse, Efterår 1996, Oversættere og køretidsomgivelser

Åben uddannelse, Efterår 1996, Oversættere og køretidsomgivelser 3/10/96 Seminaret den 26/10 vil omhandle den sidste fase af analysen og de første skridt i kodegenereringen. Det drejer sig om at finde betydningen af programmet, nu hvor leksikalsk og syntaktisk analyse

Læs mere