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

Relaterede dokumenter
Simplex metoden til løsning af LP

Chapter 6: Følsomhedsanalyse og dualitet i LP

Samtlige 3 problemtyper tilhører klassen 8/>A9<5 069A :<9,6/7=.

Chapter 7: Transport-, assignment- & transshipmentproblemer

4. Simplexmetoden. Basisløsning. x Geometrisk hovedindhold

Kapitel 9: Netværksmodeller

Ugeseddel 12( )

Operationsanalyse 1 Obligatorisk opgave 2

Matematik: Stuktur og Form Lineære ligningssystemer

Matematik og FormLineære ligningssystemer

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

Noter til kursusgang 8, IMAT og IMATØ

Emneopgave: Lineær- og kvadratisk programmering:

Ligninger med reelle løsninger

Kapitel 9: Netværksmodeller

Matrx-vektor produkt Mikkel H. Brynildsen Lineær Algebra

Matematik for økonomer 3. semester

Kursusgang 3 Matrixalgebra fortsat

Ligningssystemer - nogle konklusioner efter miniprojektet

Skriftlig Eksamen Introduktion til lineær og heltalsprogrammering (DM515)

Algebra - Teori og problemløsning

Besvarelser til Calculus og Lineær Algebra Globale Forretningssystemer Eksamen - 3. Juni 2014

Projekt Planlægning: PERT/CPM

Kursusgang 3 Matrixalgebra Repetition

Introduktion til Laplace transformen (Noter skrevet af Nikolaj Hess-Nielsen sidst revideret marts 2013)

Det Ingeniør-, Natur- og Sundhedsvidenskabelige basisår Matematik 2A, Forår 2007, Hold 4 Opgave A Kommenteret version

Skriftlig Eksamen Introduktion til lineær og heltalsprogrammering (DM515)

Videregående Algoritmik. Version med vejledende løsninger indsat!

Matricer og lineære ligningssystemer

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

Matematik A. Studentereksamen. Forberedelsesmateriale. Digital eksamensopgave med adgang til internettet

Besvarelser til Lineær Algebra Reeksamen August 2016

To ligninger i to ubekendte

Lineære ligningssystemer og Gauss-elimination

Note om interior point metoder

Optimering i Moderne Portefølje Teori

Figur. To ligninger i to ubekendte. Definition Ved m lineære ligninger med n ubekendte forstås. Definition 6.4 Givet ligningssystemet

Kursusgang 3 Matrixalgebra Repetition

Operationsanalyse. Hans Keiding

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

t a l e n t c a m p d k Matematik Intro Mads Friis, stud.scient 27. oktober 2014 Slide 1/25

Grundlæggende Matematik

Modulpakke 3: Lineære Ligningssystemer

Besvarelser til Calculus og Lineær Algebra Globale Forretningssystemer Eksamen - 8. Juni 2015

Projekt 4.9 Bernouillis differentialligning

Ligninger med reelle løsninger

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

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

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

DesignMat Lineære ligningssystemer og Gauss-elimination

DesignMat Uge 1 Gensyn med forårets stof

Kvadratiske matricer. enote Kvadratiske matricer

Operationsanalyse Eksamensnoter Frederik Silbye

Lineære ligningssystemer

Grundlæggende Matematik

Lineær Algebra. Lars Hesselholt og Nathalie Wahl

Matematik og Form: Matrixmultiplikation. Regulære og singu

Optimering af New Zealands økonomi. Gruppe G3-115

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

Tabusøgning til effektivisering af eksakt VRP algoritme baseret på søjlegenerering

Anvendt Lineær Algebra

Linear Programming ١ C H A P T E R 2

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

De fire elementers kostbare spejl

G r u p p e G

MASO Uge 11. Lineær optimering. Jesper Michael Møller. Uge 46, Formålet med MASO. Department of Mathematics University of Copenhagen

Lineær algebra: Matrixmultiplikation. Regulære og singulære

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

LinAlgDat 2014/2015 Google s page rank

Kapitel 9. Optimering i Microsoft Excel 97/2000

Udvikling af operations karakteristika/performance mål for køsystemer

UGESEDDEL 12 LØSNINGER. x

Hvad er CAS? Hvad er algebra? Didaktisk analyse af CAS-brug Hvad kan lærerne gøre?

1.1 Legemer. Legemer er talsystemer udstyret med addition og multiplikation, hvor vi kan regner som vi plejer at gøre med de reelle tal.

Operationsanalyse, Ordinær Eksamen 2017I Rettevejledning

Mikro II, Øvelser 1. a 2bx = c + dx. 2b + d

Lineær algebra Kursusgang 6

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

De rigtige reelle tal

Omskrivningsregler. Frank Nasser. 10. december 2011

Algebra INTRO. I kapitlet arbejdes med følgende centrale matematiske begreber:

Matematisk modellering og numeriske metoder. Lektion 5

Mat H /05 Note 2 10/11-04 Gerd Grubb

Grundlæggende matematiske begreber del 2 Algebraiske udtryk Ligninger Løsning af ligninger med én variabel

Oversigt [LA] 6, 7, 8

Teoretiske Øvelsesopgaver:

Affine rum. a 1 u 1 + a 2 u 2 + a 3 u 3 = a 1 u 1 + (1 a 1 )( u 2 + a 3. + a 3. u 3 ) 1 a 1. Da a 2

Besvarelser til Lineær Algebra Ordinær Eksamen Juni 2017

3.1 Baser og dimension

TALTEORI Ligninger og det der ligner.

Førsteordens lineære differentialligninger

Matematik: Struktur og Form Matrixmultiplikation. Regulære og singulære matricer

Matematik YY Foråret Kapitel 1. Grupper og restklasseringe.

Regning. Mike Vandal Auerbach ( 7) 4x 2 y 2xy 5. 2x + 4 = 3. (x + 3)(2x 1) = 0. (a + b)(a b) a 2 + b 2 2ab.

dynamisk geometriprogram regneark Fælles mål På MULTIs hjemmeside er der en oversigt over, hvilke Fælles Mål der er sat op for arbejdet med kapitlet.

Operationsanalyse MØK

Eksponentielle sammenhænge

Eksamen i Lineær Algebra

Anvendt Lineær Algebra

Funktionalligninger. Anders Schack-Nielsen. 25. februar 2007

Transkript:

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 højresider ikke-negative alle variable ikke-negative a) algebraisk introduktion b) tableau form c) opstilling af initialt tableau d) opdatering af tableauer e) identifikation af optimal løsning

Derefter: uligheder af typen ˆ eller é -> Big-M metoden negative højresider minimeringsproblemer identifikation af infeasibility unboundedness alternative optimalløsninger degenererede løsninger Endelig tilfældet med frie variable (ej i lærebog)

max 50x 40x2 s.t. 3x 5x 2 ì 50 x 2 ì 20 x 5x 2 ì 300 x, x2 ˆ 0 max 50x 40x2 s.t. 3x 5x 2 s é 50 () x 2 s 2 é 20 (2) x 5x 2 s 3 é 300 (3) x, x Ç s, s, s ˆ 0 2 2 3 Tegn mulighedsområdet og løs grafisk!

Ligningssystemet ()-(3) består af 3 ligninger i 5 ubekendte. Et ligningssystem med flere ubekendte end antallet af ligninger har sædvanligvis uendeligt mange løsninger. Men vi ved fra den grafiske metode, at optimum til LP findes i et hjørnepunkt. Og hjørnepunktsløsninger svarer til såkaldte basisløsninger. H/033>39 En basisløsning til et ligningssystem bestående af 7ligninger i ubekendte med ˆ7findes ved at fixere ( 7) ubekendte til 0 og løse det resulterende ligningssystem bestående af 7 ligninger i 7 ubekendte. De ( 7) fixerede variable betegnes ikkebasisvariable og de resterende 7 variable basisvariable.

I det foreliggende problem findes således potentielt î ü x 5ô4ô3ô2ô é é (2 ) (3 2 ) é 0 basisløsninger. 7 7¹xô7x ô ô ô ô x, " x, 2 s " (og s2 é s3 é 0) x, " x, 2 s 2 (og s é s3 é 0) x, " x, 2 s 3 (og s é s2 é 0) x ", s, s 2 (og x2 é s3 é 0) x ", s, s 3 (og x2 é s2 é 0) x ", s 2, s 3 (og x2 é s é 0) x 2, s, s 2 (og x é s3 é 0) x 2, s, s 3 (og x é s2 é 0) x 2, s 2, s 3 (og x é s é 0) s, s, s (og x é x é 0) " 2 3 2 Find disse grafisk! Identificer nogle af basisløsningerne! Bemærk: Kun 5 af de ialt 0 potentielle basisløsninger er brugbare.

Betragt igen problemet i standard form: max 50x 40x2 s.t. 3x 5x 2 s é 50 () x 2 s 2 é 20 (2) x 5x 2 s 3 é 300 (3) x, x Ç s, s, s ˆ 0 2 2 3 Bemærk: I enhver række findes netop 'en variabel med koefficient '' i pågældende række og koefficient '0' i alle øvrige rækker - nemlig slackvariablen i rækken. Det er derfor meget let at finde en initial basisløsning ved at sætte (x, x 2) é (0, 0) og løse det resulterende ligningssystem (s, s 2, s 3) é (50, 20, 300)

Denne løsning kan findes ved opstilling af første del af det initiale simplex tableau: x x2 s s2 s3 Basis cb 50 40 0 0 0 s 0 3 5 0 0 50 s2 0 0 0 0 20 s 0 5 0 0 300 3 Er den aktuelle basisløsning bestående af (s, s, s ) 2 3 optimal? Observation: En basisløsning er optimal, hvis der ikke findes en nabobasis, der kunne give en bedre objektivfunktionsværdi. En nabobasis findes ved at fixere en aktuel basisvariabel til værdi 0 og frigøre en aktuel ikke-basisvariabel fra dens p.t. fixerede værdi 0. Vi skal altså undersøge, om en tilvækst i enten x eller x 2 (de aktuelle ikke-basisvariable) kan indebære en stigning i z.

Lad os først se på ligningssystemet for x : s é 50 3x () s 2 é 20 (2) s é 300 x (3) 3 Heraf følger at hvis x øges med enhed så ) falder s med 3 enheder, 2) s 2 er uændret, og 3) s 3 falder med enheder. Hvordan påvirker dette objektivfunktionen? s 3 ² fald i z på 0 ô3 s 2 uændret ² fald i z på 0 ô0 s3 ² fald i z på 0 ô hvilket indebærer at nettoændringen i z fremkaldt af ændringen i de aktuelle basisvariable som følge af en tilvækst på en enhed i x er 0. Denne ændring betegnes z. Men en tilvækst på en enhed i x indebærer også en tilvækst i z på 50 enheder, fordi x har en kriteriekoefficient c" på 50. Den samlede ændring i objektivværdien er derfor c z é 50 0 é 50

Lad os dernæst se på ligningssystemet for x : 2 s é 50 5x 2 () s 2 é 20 x 2 (2) s é 300 5x (3) 3 2 Heraf følger at hvis x øges med enhed så 2 ) falder s med 5 enheder, 2) s 2 falder med enhed, og 3) s 3 falder med 5 enheder. Hvordan påvirker dette objektivfunktionen? s 5 ² fald i z på 0 ô5 s2 ² fald i z på 0 ô s3 5 ² fald i z på 0 ô5 hvilket indebærer at nettoændringen i z fremkaldt af ændringen i de aktuelle basisvariable som følge af en tilvækst på en enhed i x 2 er 0. Denne ændring betegnes z 2. Men en tilvækst på en enhed i x 2 indebærer også en tilvækst i z på 40 enheder, fordi x 2 har en kriteriekoefficient c2 på 40. Den samlede ændring i objektivværdien er derfor c2 z2 é 40 0 é 40

Vi kan i princippet gøre det samme for sættet af basisvariable. Her vil z 4 selvfølgelig altid være lig med den pågældende variabels egen kriteriekoefficient og c4 z 4 derfor altid lig 0. Disse informationer kan nu gengives i simplextableauet: x x2 s s2 s3 Basis cb 50 40 0 0 0 s 0 3 5 0 0 50 s2 0 0 0 0 20 s3 0 5 0 0 300 z 4 0 0 0 0 0 c z 50 40 0 0 0 Det stærkt optrukne angiver objektivfunktionens aktuelle værdi og findes ved $!cbbi é 0ô 50 0ô 20 0ô300 é 0 i 3é" Tallene i c z rækken viser, at objektivværdien vil vokse med 50 enheder hver gang x øges med enhed, og at objektivværdien vil vokse med 40 enheder hver gang x 2 øges med enhed.

Den aktuelle basis er derfor ikke optimal, fordi en nabobasis omfattende enten x eller x 2 forventes at give en bedre objektivfunktionsværdi. Observation: Vi vælger at introducere den p.t. ikke-basisvariabel i basen, der giver den størst mulige tilvækst pr. enhed. Derfor introduceres x i basen.

Hvis x skal ind i basen, d.v.s. frigøres fra den p.t. fixerede værdi 0, skal en af de aktuelle basisvariable ud, d.v.s. fixeres til værdi 0. En tilvækst på en enhed i x øger z med 50 enheder. Vi ønsker derfor at lade x vokse så meget som overhovedet muligt. Men x kan kun vokse, indtil den første aktuelle basisvariabel når sit lower bound på 0 - en yderligere tilvækst i x vil indebære at denne basisvariabel bliver negativ og dermed infeasibility. Observation: Den udgående basisvariabel er den, der først falder til værdi 0, når den indgående variabels værdi øges. Den maximale tilvækst i x er derfor defineret ved det minimal ratio mellem de aktuelle højresider og de positive elementer i x søjlen. Husk at et 0 element betyder, at den modsvarende basisvariabel ikke ændres, og at et negativt element vil betyde, at den stiger! Det mindste ratie er derfor 50 300 3 minimum( é 50, é 37.5) s vil derfor først antage værdien 0, når x vokser, og 3 det vil ske når x antager værdien 37.5. Vi betegner x søjlen som pivotsøjlen, fordi x er indgående p.t. ikke-basisvariabel, og s rækken som 3 pivotrækken, fordi s er udgående variabel. Og 3 elementet i snittet mellem pivotsøjle og pivotrække betegnes pivotelementet.

Problemet består nu i at finde den nye basisløsning svarende til sættet af basisvariable (s, s 2, x ). Dette gøres ved at lade x overtage s 3's rolle. Betragt det nye ligningssystem: 3x s é 50 5x 2 () s 2 é 20 x 2 (2) x é 300 5x2 s 3 (3) der skal løses med x og s fixeret til 0. Dette kan ske v.h.a. 2 3 elementære rækkeoperationer med udgangspunkt i simplex tableauets pivot række. Elementære rækkeoperationer består af: ) Multiplikation af en række med et tal 0. 2) Addition eller subtraktion af (evt. multiplicerede) rækker. Bemærk, at elementære rækkeoperationer ikke påvirker ligningssystemets løsning, fordi der hele tiden skaleres, adderes eller subtraheres det samme på højre- og venstresider. At lade x overtage s 3's rolle betyder, at den aktuelle x søjle 3 ¹ 0 ¹ 0 ¹ skal transformeres fra 0 til 0, idet 0 er s º º º 3 søjlens aktuelle værdi. Dette sker ved elementære rækkeoperationer, der altid startes med at transformere pivotelementet til værdi, d.v.s. division med i pivotligningen:

x é (300 5x2 s 3) (3C) x é 5 37.5 x2 s 3 (3C) x 's koefficient på 3 i ligning () skal nu konverteres til et 0 med udgangspunkt i (3C). Det sker ved at multiplicere (3C) med 3 og trække dette fra (): ( ) é () 3 ô(3 ) C C 3x s é 50 5x 2 () 5 3 3x é 2.5 x2 s 3 3 ô(3 C ) 25 3 s é 37.5 x2 s 3 (C) x skal også have koefficienten 0 i ligning (2). Men det har x allerede, så en elementær rækkeoperation er ej nødvendig. Vi har dermed fundet den nye basisløsning: 25 3 s é 37.5 x2 s 3 (C) s 2 é 20 x 2 (2C) 5 x é 37.5 x2 s 3 (3C) d.v.s. basisvariable (s, s 2, x ) é (37.5, 20, 37.5) og ikkebasisvariable (x 2, s 3) é 0. _ De 3 ligninger i det opdaterede system betegnes (), (2), (3). Den modsvarende objektivfunktionsværdi beregnes let til 0 ô 37.5 0 ô 20 50 ô37.5 é 75.

Disse beregninger kunne lige så let være foretaget med udgangspunkt i simplextableauet: x x2 s s2 s3 Basis cb 50 40 0 0 0 s 0 3 5 0 0 50 s2 0 0 0 0 20 s3 0 5 0 0 300 z 4 0 0 0 0 0 c z 50 40 0 0 0 x x2 s s2 s3 Basis cb 50 40 0 0 0 25 3 75 s 0 0 0 2 s2 0 0 0 0 20 x 50 5 0 0 75 z 50 4 c z 0 0 0 2 250 50 0 0 70 50 Dette er det opdaterede simplex tableau. Her er også beregnet z 4 og c4 z 4. z 4 findes som ovenfor ved at tage summen af elementerne i cb-søjlen ganget med de modsvarende elementer i hhv. x-, x 2, s-, s2- og s3-søjlen. z for x -søjlen beregnes således som 4 2

25 5 250 (0ô 0ô 50 ô ) é. Det betyder, at ændringen i de aktuelle basisvariable fremkaldt af en tilvækst på enhed i x 2 vil indebære et fald i 250 objektivfunktionsværdien på enheder. Men en tilvækst i x 2 på en enhed vil samtidig give en tilvækst i objeltivfunktionsværdien svarende til x 2's egen kriteriekoefficient på 40. Nettoeffekten ved at løfte x 2 fra 250 70 aktuel værdi 0 til er derfor 40 é som anført i c4 z4i x2-søjlen. Øvrige elementer i c4 z4-rækken fortolkes tilsvarende. Er tableauet optimalt, d.v.s. er den aktuelle basisløsning optimal? Vi checker, om der i c4 z 4 rækken er strengt positive elementer. x 2 har som den eneste p.t. ikkebasisvariabel et positivt element i denne række og skal derfor bringes til basis. Vi ønsker selvsagt at øge x 2 så meget som muligt, fordi enhver tilvækst på en enhed giver en 70 2 tilvækst i objektivfunktionsværdien på enheder. x kan kun øges, indtil den første p.t. basisvariabel antager værdien 0. Denne identificeres ved rækken, hvor ratiet mellem en aktuel højreside og et positivt element i x -søjlen er minimalt. Husk 25 5 2 at tallene (,, ) i x -søjlen angiver den negative ændring i basisvariablene s, s 2 og x ved en tilvækst på en enhed i x 2. 75 25 75 5 2 2 min(, 20, ) é min(2, 20, 60) é 2 2

Vi finder altså mindste ratiet i s-rækken. x2-søjlen er derfor 25 pivotsøjle, s2-rækken er pivotrække, og elementet pivotelement. x 2 skal således introduceres i basis og s gøres til ikke-basisvariabel. Det betyder, at x -søjlen skal konverteres 2 til den aktuelle s -søjle v.h.a. elementære rækkeoperationer med udgangspunkt i pivotrækken. _ (C) é () 25 _ (2 ) é 2) ( ) C C _ (3C) é (3) 5 (C) Disse rækkeoprationer fører til følgende opdaterede simplextableau: x x2 s s2 s3 Basis cb 50 40 0 0 0 x2 40 0 3 25 0 25 2 s2 0 0 0 3 25 25 x 50 0 5 5 25 0 25 30 4 26 z4 50 40 5 0 5 c z 0 0 4 0 26 5 5 Dette tableau er optimalt, fordi alle elementer i c er mindre end eller lig med 0. z rækken

Algoritme: En algoritme er en systematisk procedure, der med udgangspunkt i en initial situation i et antal såkaldte iterationer terminerer i en optimal situation. Simplex algoritmen for LP i standard form, d.v.s. et maximeringsproblem, alle uligheder af typen ì, alle højre-sider ikke-negative, og alle variable ikke-negative: ) Formuler LP. 2) Introducer slack variable -> slacks identificerer initial basisløsning. 3) Konstruer initialt simplex tableau. 4) Vælg p.t. ikke basis-variabel med maximal ikke-negativ værdi i c4 z4-rækken. Hvis intet element i denne række er strengt positivt, STOP; aktuel basis er optimal. ELLERS introducer pågældende variabel i basis; den hertil svarende søjle betegnes pivot søjlen. 5) Identificer udgående p.t. basisvariabel ved mindste ratiet mellem de aktuelle højresider og de ikke negative elementer i pivotsøjlen. Rækken hvori dette mindste ratio findes betegnes pivotrækken. Den aktuelle basis variabel i denne række er den første basis variabel, der antager værdi 0, når værdien af den indgående p.t. ikke-basis variabel øges. Denne basis variabel betegnes udgående. 6) Opdater basisløsningen ved elementære rækkeoperationer. Den indgående variabels søjle skal transformeres til en enhedssøjle med''-tallet i pivotrækken. Gå til 4). 4)-6) udgør en simplexiteration. 4) definerer et optimalitetstest.

Observation: 7 max! c x!! s 3 4é" 3é" s.t.! a x s é b Ç 3 é "Ç ÆÆÆÆÇ 7 4é" x 3 3 3 Ç s ˆ!Ç 4 é "Ç ÆÆÆÆÇ Ç 3 é "Ç ÆÆÆÆÇ 7 4 3 Initialt simplextableau i generel form: x. x4 Æ xn x n+. x n+ 3. xn+m Basis cb c. c4 Æ c n 0. 0. 0 s 0 a. a 4 Æ a. 0. 0 b..... Æ....... s 0 a. a Æ a n 0.. 0 b Æ Æ Æ Æ. Æ Æ Æ Æ.. Æ Æ s 0 a. a Æ a 0. 0. b n 3 3 34 3 3 m m m4 mn m 7 7 7 7 z! c a.! c a.! c a 0. 0. 0! c b 4 B3 3 B3 34 B3 3n B3 3 3é" 3é" 3é" 3é" 7 7 7 c z c-! c a. c-! c a. c-! c a 0. 0. 0 B3 3 4 B3 34 n B3 3n 3é" 3é" 3é" Her svarer x n+ til s, x n+ 3 til s 3, og x n+m til s m. Bemærk at alle elementer i z 4 rækken i det initiale tableau er 0, fordi cb 3 é!ç 3 é "Ç ÆÆÆÆÇ 7, idet enhver basisvariabel er en slack med z rækken er derfor kriteriekoefficient 0. Alle elementer i c lig med c 4. Lad os nu se på det opdaterede tableau i en vilkårlig iteration:

. xb Æ x. i Nj Basis c B. cb Æ c. i Nj xb c B. 0 Æ a. b Nj.... Æ... xb c B. Æ a. b 3 3 3Nj 3 Æ Æ Æ. Æ Æ Æ Æ xb c B. 0 Æ a mn. b m m j m 7 _ 7 z. c.! c a.!c _ b 4 B3 B3 3Nj B3 3é" 3é" 7 _ c z. 0. c -! c a. j j N B3 3N 3é" 3 Her svarer xb 3 -søjlen til den opdaterede søjle for den variabel, der er i basis i den 3'te række; det kan enten være en af de oprindelige x-variable eller en slack. Søjlen er i princippet en enhedssøjle med ''-tallet i 3'te række. xn 4 -søjlen svarer til den opdaterede søjle for den 4'te ikkebasis variabel; det kan enten være en af de oprindelige x-variable eller en slack. z4-indgangen i denne søjle måler her effekten på objektivfunktionen fremkaldt af den nødvendige ændring i sættet af basis variable ved en tilvækst fra 0 til i den pågældende ikke-basis variabel. Tilsvarende måler indgangen i c4 z4rækken nettoændringen i objektivfunktionsværdien ved en tilvækst fra 0 til i den pågældende ikke-basis variabel. Endelig angiver b-søjlen de opdaterede højresider, d.v.s. - ligningssystemets basisløsning givet sættet af aktuelle basisvariable.

x x2 s s2 s3 Basis cb 50 40 0 0 0 s 0 3 5 0 0 50 s2 0 0 0 0 20 s3 0 5 0 0 300 z 4 0 0 0 0 0 c z 50 40 0 0 0 x x2 s s2 s3 Basis cb 50 40 0 0 0 s 0 0 3 75 0 2 s2 0 0 0 0 20 5 75 x 50 0 0 2 250 50 z4 50 0 0 c z 0 70 0 0 50 x x2 s s2 s3 Basis cb 50 40 0 0 0 x 40 0 0 3 2 2 25 25 3 25 25 5 5 25 25 4 26 5 5 4 26 5 5 s 0 0 0 2 x 50 0 0 30 z 50 40 0 4 c z 0 0 0

Håndtering af LP i ikke-standard form: max 50x 40x2 s.t. 3x 5x 2 ì 50 x 2 ì 20 x 5x 2 ì 300 x x 2 ˆ 25 x, x2 ˆ 0 max 50x 40x2 s.t. 3x 5x 2 s é 50 () x 2 s 2 é 20 (2) x 5x 2 s 3 é 300 (3) x x 2 s 4 é 25 (4) x, x Ç s, s, s, s ˆ 0 2 2 3 4 Bemærk: Nu er en initial basis bestående af slack- og surplusvariable ikke længere brugbar, fordi

(x, x 2) é (0, 0) ² (s, s2çs 3, s 4) é (50, 20, 300, 25) hvilket betyder, at s er negativ. Problemet undgås ved en 4 kunstig udvidelse af mulighedsområdet. max 50x 40x 2 Ma4 s.t. 3x 5x 2 s é 50 () x 2 s 2 é 20 (2) x 5x 2 s 3 é 300 (3) x x 2 s4 a 4 é 25 (4) x, x Ç s, s, s, s, a ˆ 0 2 2 3 En initial basis bestående af (s, s, s, a ) er brugbar i 2 3 4 ovenstående model, idet (x, x 2, s 4) é (0, 0) ² (s, s2çs 3, a 4) é (50, 20, 300, 25) Men en løsning til modellen er kun brugbar i den oprindelige model, hvis kunstvariablen a 4 antager værdien 0. Dette opnås ved at sætte M lig med et meget stort positivt tal, idet a 4 dermed aldrig kan indgå i en optimal basis (hvis det oprindelige problem har brugbare løsninger). Lad os herefter bruge simplex algoritmen på vanlig vis:

x x2 s s2 s3 s4 a4 Basis cb 50 40 0 0 0 0 M s 0 3 5 0 0 0 0 50 s2 0 0 0 0 0 0 20 s3 0 5 0 0 0 0 300 a4 M 0 0 0 25 z4 M M 0 0 0 M M 25M c z 50 M 40 M 0 0 0 M 0 x x2 s s2 s3 s4 a4 Basis cb 50 40 0 0 0 0 M s 0 0 2 0 0 3 3 75 s2 0 0 0 0 0 0 20 s3 0 0 3 0 0 00 x 50 0 0 0 25 z4 50 50 0 0 0 50 50 c z 0 0 0 0 0 50 M 50 x x2 s s2 s3 s4 Basis cb 50 40 0 0 0 0 s 0 0 3 75 0 0 2 s 2 0 0 0 0 0 20 s 0 0 3 0 0 25 4 2 5 75 2 250 50 70 50 x 50 0 0 0 z 50 0 0 0 4 c z 0 0 0 0 x x2 s s2 s3 s4 Basis cb 50 40 0 0 0 0 3 x2 40 0 25 0 25 0 2 3 s 2 0 0 0 25 25 0 3 2 s 4 0 0 0 25 0 25 7 5 5 x 50 0 25 0 25 0 30 4 26 z4 50 40 5 0 5 0 c z 0 0 0 26 0 4 5 5

Bemærk: Tableau no. 2 definerer en brugbar løsning til det oprindelige problem, fordi kunstvariablen antager værdien 0. a 4 vil aldrig indgå i basis igen, fordi værdien i c4 z 4 rækken altid vil nære negativ. Vi kan derfor i de følgende tableauer ignorere a4- søjlen. Sammenlign bevægelserne fra basis til nabobasis grafisk!

Håndtering af negative højre-sider: -> multiplicer med på begge sider. Håndtering af ligheder: ->! a x é b ² 4é" 3 3 Â Å Ã Å Ä! a x 4é"! a x 4é" ì b 3 3 ˆ b 3 3 Sammenfatning af procedurer til etablering af LP i tableau form: ) Hvis problem indeholder ligninger eller uligheder med negative højresider multipliceres på både venstre- og højreside med (husk at vende uligheder!). Alle højresider er nu ikke-negative. 2) ì uligheder: Transformer til lighed ved addition af ikke-negativ slack på venstre-siden med kriteriekoefficient 0. 3) ˆ uligheder: Transformer til lighed ved subtraktion af ikkenegativ surplus på venstre-siden med kriterie koefficient 0. Introducer artificial variabel med koef ficient '' i begræsningen selv og '0' i alle andre begræsninger. Eliminer denne fra enhver optimal løsning ved at give den kriteriekoefficient M, hvor M i princippet er et meget stort tal. 4) é relationer: Introducer artificial variabel med koefficient '' i begræsningen selv og '0' i alle andre begræsninger. Eliminer denne fra enhver optimal løsning ved at give den kriteriekoefficient M, hvor M i princippet er et meget stort tal.

Håndtering af lighedsbetingelser og negative højresider: max 6x 3x 2 4x 3 x4 s.t. 2x.5x 2 x 3 6x 4 é 60 2 3 3 4 x x x ì 20 x 2 5x 3 ì 50 x, x,x, 2 3 x4 ˆ 0 Negative højresider konverteres til positive højresider ved multiplikation med på begge sider af relationen: max 6x 3x 2 4x 3 x4 s.t. 2x.5x 2 x 3 6x 4 é 60 2 3 3 4 x x x ì 20 x, x,x, 2 3 x4 ˆ 0 x 2 5x 3 ˆ 50

I ligning ) introduceres en kunst-variabel, i ulighed 2) en slack-variabel og i ulighed 3) en surplus- og en kunst-variabel: max 6x 3x 2 4x 3 x 4 Ma Ma 3 s.t. 2x.5x 2 x 3 6x 4 a é 60 2 3 3 4 2 x x x s é 20 x 2 5x 3 s3 a 3 é 50 x, x 2, x 3, x 4, s 2, s 3, a, a3 ˆ 0 Bemærk: Nu er en initial basis bestående af slack- og surplusvariable ikke brugbar, fordi surplusvariable antager negativ værdi. Vi starter derfor med en kunstig basis bestående af slack- og kunstvariable. Men kunstvariable drives ud af basen qua deres kriteriekoefficient.

Løsning af minimeringsproblemer: Betragt følgende LP: min! c x 4é" s.t.! a x ì b, 3 é,..., 7 4é" x 4 ˆ! 3 3 ù Lad (x 4) betegne en optimal basisløsning til dette LP. ù Så er (x ) også en optimal basisløsning til følgende LP: 4 max! c x 4é" s.t.! a x ì b, 3 é,..., 7 4é" x 4 ˆ! 3 3 Et minimeringsproblem kan derfor løses ved transformation til maximering af den negative objektivfunktion. Alternativt: Vi kunne have ændret reglen for identifikation af indgående variabel til mængden af p.t. ikke-basisvariable med en negativ indgang i c z -rækken. Eksempel p. 244-245.

Specialtilfælde: ) Infeasibility 2) Unboundedness 3) Alternative løsninger 4) Degenererede basis løsninger 5) Håndtering af frie variable

max x x 2 s.t. x 2x 2 ˆ 0 x x 2 ì 4 x, x2 ˆ 0 x x2 s s2 a Basis c B 0 0 M a M 2 0 0 s 2 0 0 0 4 z 4 M 2M M 0 M 0M c z M 2M M 0 0 x x2 s s2 a Basis c B 0 0 M a M 0 2 2 x2 0 0 4 z4 M M 2M M 4 2M c z M 0 M 2M 0 Dette tableau er optimalt, men indeholder en kunstvariabel på niveau større end nul. Det betyder, at det underliggende problem ikke besidder brugbare løsninger, fordi kunstvariablen aldrig vil kunne antage en værdi lig nul. Et infeasible LP kendes derfor ved, at det indeholder mindst en kunstvariabel på niveau større end nul i en optimal basis.

Unbounded solutions: max x x 2 s.t. x x ì 2 x, x2 ˆ 0 x x2 s Basis c B 0 s 0 z 4 0 0 0 0 c z 0 x x2 s Basis c B 0 x z 4 c z 0 2 Heraf ses, at en tilvækst i p.t. ikke-basis variabel x indebærer en 2 tilvækst i objektivfunktionsværdien på 2 enheder. Men x kan bringes 2 til at vokse uendelig meget, fordi en tilvækst i x indebærer en 2 tilvækst i samtlige aktuelle basisvariable (her altså i x ). Dette følger af, at alle elementer i pivotsøjlen i x -rækkerne (her B3 altså x -rækken) er mindre end eller lig med nul. Det betyder, at det underliggende problem ikke besidder en endelig optimal løsning, men karakteriseres som unbounded. Et unbounded LP kendes derfor ved, at det indeholder en opdateret søjle for en p.t. ikke basisvariabel med positiv indgang i c4 z4 rækken og ikke-positive indgange i samtlige x -rækker, så ingen B3 aktuel basis variabel aftager i værdi, når pågældende ikke-basis variabel bringes til at antage en større værdi.

Alternative optimalløsninger: max x x 2 s.t. 2x 2x 2 ì 4 x, x2 ˆ 0 x x2 s Basis c B 0 s 0 2 4 z 4 0 0 0 0 c z 0 x x2 s Basis c B 0 x 2 2 z 4 2 c z 0 0 2 2 Tableauet er optimalt, fordi ingen indgang i c4 z4-rækken er positiv. Men aktuel ikke-basis variabel x 2 har værdien 0 i c4 z4 rækken. Heraf følger, at x 2 kan introduceres i basis uden at den optimale objektivfunktionsværdi ændres. En basis med x2 é er derfor også optimal. Problemet har altså flere optimale basisløsninger. Et LP med alternative løsninger kendes ved, at et optimalt tableau indeholder en opdateret søjle for en p.t. ikke basisvariabel med 0-indgang i c z -rækken.

Degenererede basisløsninger: max 50x 40x2 s.t. 3x 5x 2 ì 75 x 2 ì 20 x 5x 2 ì 300 x, x2 ˆ 0 x x2 s s2 s3 Basis cb 50 40 0 0 0 s 0 3 5 0 0 75 s2 0 0 0 0 20 s3 0 5 0 0 300 z 4 0 0 0 0 0 c z 50 40 0 0 0 x x2 s s2 s3 Basis cb 50 40 0 0 0 s 0 0 Ã 3 25 0 2 s2 0 0 0 0 20 5 75 x 50 0 0 2 250 50 z4 50 0 0 c z 0 70 0 0 50 x x2 s s2 s3 Basis cb 50 40 0 0 0 x 40 0 0 3 20 2 25 25 3 25 25 5 5 25 25 4 26 5 5 4 26 5 5 s 0 0 0 0 2 x 50 0 0 25 z 50 40 0 4 c z 0 0 0

Den optimale basis løsning er degenereret, fordi en basis variabel antager værdien 0. Det betyder, at vi ikke kan se forskel på denne basis variabel og sættet af ikke-basis variable, der også har værdi 0. Degenererede løsninger etableret i løbet af simplex algoritmen er problematiske, fordi de kan betyde, at algoritmen cykler. Et basis skift indebærer ikke en forbedring af objektivfunktionsværdien, hvis udgående basis variabel har værdi 0 og indgående variabel bringes i basis med værdi 0. Degenererede løsninger opstår, hvis et hjørnepunkt er overdetermineret. I eksempler som ovenfor med 2 beslutningsvariable x og x 2 er et hjørnepunkt defineret ved skæringen mellem 2 begrænsninger. Men i det aktuelle eksempel skærer alle 3 begrænsninger hinanden i det samme punkt, som derfor er overdetermineret. mellem 2 begrænsninger

Beslutningsvariable, som kan være negative: max 50x 40x2 s.t. 3x 5x 2 ì 50 x 2 ì 20 x 5x 2 ì 300 x ˆ 50 x2 ˆ 0 Introducer komplementær variabel til x : w w x ˆ 50 ² x x é 50, x ˆ0 Heraf følger w x é x 50 LP kan derfor omskrives: max w 50(x 50) 40x2 s.t. w 3(x 50) 5x 2 ì 50 x 2 ì 20 w (x 50) 5x 2 ì 300 w x, x ˆ 0 2

eller max w 50x 40x 2 ( 2500) s.t. w 3x 5x 2 ì 300 x 2 ì 20 w x 5x 2 ì 700 w x, x ˆ 0 2 Dette LP er i standardform og løses på sædvanlig måde.

max 50x 40x2 s.t. 3x 5x 2 ì 50 x 2 ì 20 x 5x 2 ì 300 x2 ˆ 0 Omskriv den frie variabel x til differensen mellem to ikke negative variable: x é x x Ç x, x ˆ 0 Reformuler herefter modellen 2 max 50x 50x 40x 2 s.t. 3x 3x 5x ì 50 2 x 2 ì 20 x x 5x ì 300 x, x x2 ˆ 0 Dette problem er i standardformat og ækvivalent til det oprindelige problem.