programowanie liniowe w logistycemarmaj.math.uni.lodz.pl/files/plwlcwiczenia20122013.pdf · zadanie...

30
Programowanie liniowe w logistyce kierunek Informatyka, studia I stopnia ´cwiczenia 1 Programowanie liniowe 1.1 Modelowanie Zadanie 1 Zapisa´ c nast ˛ epuj ˛ ace zadanie w postaci zadania programowania liniowego. Producent odzie ˙ zy powinien okre´ sli´ c, ile kurtek i płaszczy nale ˙ zy wyprodukowa´ c tak, aby zysk osi ˛ agni ˛ ety z ich sprzeda ˙ zy był maksymalny. Do produkcji wykorzystywany jest jeden rodzaj tkaniny. Producent posiada 150 m 2 tej tkaniny. Zgodnie z zamówieniami nale ˙ zy wyprodukowa´ c co najmniej 20 kurtek i co najwy ˙ zej 10 płaszczy. Do produkcji jednej kurtki i jednego płaszcza potrzeba odpowiednio 2, 5 m 2 i 4 m 2 tkaniny. Przy sprzeda ˙ zy jednej kurtki producent osi ˛ aga zysk 50 zł,płaszcza - 60 zł. Rozwi ˛ azanie Zadania 1. Wprowad´zmy nast ˛ epuj ˛ ace oznaczenia: u 1 - ilo´ s´c wyprodukowanych kurtek, u 2 - ilo´ s´c wyprodukowanych płaszczy. Ograniczenia nało ˙ zone na zmienne u 1 , u 2 mo ˙ zna zapisa´c nast ˛ epuj ˛ aco: u 1 20,u 2 10, 2, 5u 1 +4u 2 150. Funkcjonał kosztu, który nale ˙ zy zmaksymalizowa´c, przyjmuje posta´c 50u 1 + 60u 2 1

Upload: dotu

Post on 28-Feb-2019

234 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Programowanie liniowe w logistycemarmaj.math.uni.lodz.pl/Files/plwlcwiczenia20122013.pdf · Zadanie 1 Zapisa´cnast epuj˛ ace zadanie w postaci zadania programowania liniowego

Programowanie liniowe w logistyce

kierunek Informatyka, studia I stopnia

cwiczenia

1 Programowanie liniowe

1.1 Modelowanie

Zadanie 1 Zapisac nastepujace zadanie w postaci zadania programowania liniowego.

Producent odziezy powinien okreslic, ile kurtek i płaszczy nalezy wyprodukowac tak, aby

zysk osiagniety z ich sprzedazy był maksymalny. Do produkcji wykorzystywany jest jeden

rodzaj tkaniny. Producent posiada 150 m2 tej tkaniny. Zgodnie z zamówieniami nalezy

wyprodukowac co najmniej 20 kurtek i co najwyzej 10 płaszczy. Do produkcji jednej

kurtki i jednego płaszcza potrzeba odpowiednio 2, 5 m2 i 4 m2 tkaniny. Przy sprzedazy

jednej kurtki producent osiaga zysk 50 zł, płaszcza - 60 zł.

Rozwiazanie Zadania 1. Wprowadzmy nastepujace oznaczenia:

u1 - ilosc wyprodukowanych kurtek,

u2 - ilosc wyprodukowanych płaszczy.

Ograniczenia nałozone na zmienne u1, u2 mozna zapisac nastepujaco:

u1 ≥ 20, u2 ≤ 10,

2, 5u1 + 4u2 ≤ 150.

Funkcjonał kosztu, który nalezy zmaksymalizowac, przyjmuje postac

50u1 + 60u2

1

Page 2: Programowanie liniowe w logistycemarmaj.math.uni.lodz.pl/Files/plwlcwiczenia20122013.pdf · Zadanie 1 Zapisa´cnast epuj˛ ace zadanie w postaci zadania programowania liniowego

Uwzgledniajac wiec naturalne ograniczenia nieujemnosci zmiennych u1, u2, mozemy za-

pisac badane zagadnienie w postaci nastepujacego zadania programowania liniowego⎧⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎩

h(−50,−60), (u1, u2)i→ min .

u ∈ U = {u = (u1, u2) ∈ R2; u ≥ 0,

⎡⎢⎢⎢⎣−1 0

0 1

2, 5 4

⎤⎥⎥⎥⎦⎡⎣ u1

u2

⎤⎦ ≤⎡⎢⎢⎢⎣−20

10

150

⎤⎥⎥⎥⎦} .

Zadanie 2 Zapisac nastepujace zadanie w postaci zadania programowania liniowego.

Pewien wytwórca posiada magazyny z Lublinie, Łodzi i Szczecinie. W magazynach tych

znajduje sie odpowiednio 40, 20 i 40 jednostek produktu. Sklepy zamówiły nastepujace

ilosci produktu: Białystok - 25 jednostek, Cieszyn - 10, Kraków - 20, Sopot - 30, Warszawa

- 15. Koszty transportu jednostki produktu (w zł) z magazynów do sklepów podaje nastepu-

jaca tabela:

Białystok Cieszyn Kraków Sopot Warszawa

Lublin 55 30 40 50 40

Łódz 35 30 100 45 60

Szczecin 40 60 95 35 30

Nalezy tak zaplanowac dystrybucje produktu, by koszt transportu był minimalny.

Rozwiazanie Zadania 2. Wdalszym ciagu magazyny w Lublinie, Łodzi i Szczecinie oz-

naczac bedziemy numerami 1, 2, 3, natomiast sklepy w Białymstoku, Cieszynie, Krakowie,

Sopocie i Warszawie - numerami 1, 2, 3, 4, 5, odpowiednio. Wprowadzmy takze nastepu-

jace oznaczenia:

ui,j - ilosc jednostek produktu transportowanych z i - tego magazynu do j - tego sklepu

ci,j - koszt transportu jednostki produktu z i - tego magazynu do j - tego sklepu

Funkcjonał kosztu, który nalezy zminimalizowac, przyjmuje postacX3

i=1

X5

j=1ci,ju

i,j,

2

Page 3: Programowanie liniowe w logistycemarmaj.math.uni.lodz.pl/Files/plwlcwiczenia20122013.pdf · Zadanie 1 Zapisa´cnast epuj˛ ace zadanie w postaci zadania programowania liniowego

natomiast ograniczenia nałozone na zmienne ui,j mozna zapisac nastepujaco:X5

j=1u1,j = 40X5

j=1u2,j = 20X5

j=1u3,j = 40

X3

i=1ui,1 = 25X3

i=1ui,2 = 10X3

i=1ui,3 = 20X3

i=1ui,4 = 30X3

i=1ui,5 = 15

Oznaczajac wiec

u = (u1,1, ..., u1,5, u2,1, ..., u2,5, u3,1, ..., u3,5) ∈ R15,

c = (55, 30, 40, 50, 40, 35, 30, 100, 45, 60, 40, 60, 95, 35, 30)

i uwzgledniajac naturalne ograniczenie nieujemnosci zmiennych, mozemy zapisac rozwazane

zadanie w postaci nastepujacego zadania programowania liniowego⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩

hc, ui→ min .

u ∈ U = {u ∈ R15; u ≥ 0,

⎡⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣

1 1 1 1 1 0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 1 1 1 1 1 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0 1 1 1 1 1

1 0 0 0 0 1 0 0 0 0 1 0 0 0 0

0 1 0 0 0 0 1 0 0 0 0 1 0 0 0

0 0 1 0 0 0 0 1 0 0 0 0 1 0 0

0 0 0 1 0 0 0 0 1 0 0 0 0 1 0

0 0 0 0 1 0 0 0 0 1 0 0 0 0 1

⎤⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦

u =

⎡⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣

40

20

40

25

10

20

30

15

⎤⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦

.

Zadanie 3 Zapisac nastepujace zadanie w postaci zadania programowania liniowego.

3

Page 4: Programowanie liniowe w logistycemarmaj.math.uni.lodz.pl/Files/plwlcwiczenia20122013.pdf · Zadanie 1 Zapisa´cnast epuj˛ ace zadanie w postaci zadania programowania liniowego

Wytwórca mebli powinien okreslic, ile stoł ów, krzeseł, biurek i szaf powinien wypro-

dukowac, by zysk z ich sprzedazy był maksymalny. Do produkcji wykorzystywane sa dwa

typy desek. Wytwórca posiada 1500 m desek I typu i 1000 m - desek II typu oraz dysponuje

kapitałem 860 godzin roboczych na wykonanie zaplanowanej produkcji. Ze złozonych za-

mówien wynika, ze nalezy wyprodukowac co najmniej 40 stołów, 130 krzeseł, 30 biurek i nie

wiecej niz 10 szaf. Do produkcji kazdego stołu, krzesła, biurka i szafy potrzeba odpowiednio

5, 1, 9, 12 m desek I typu i 2, 3, 4, 1 m desek II typu. Na wykonanie stołu potrzeba 3

godzin pracy, krzesła -2 godzin, biurka - 5 godzin, szafy - 10 godzin. Ze sprzedazy jednego

stołu, krzesła, biurka i szafy wytwórca osiaga zysk odpowiednio 50, 20, 60 i 40 zł.

Rozwiazanie Zadania 3. Wprowadzmy nastepujace oznaczenia:

u1 - ilosc stołów

u2 - ilosc krzeseł

u3 - ilosc biurek

u4 - ilosc szaf

Funkcjonał kosztu, który nalezy zmaksymalizowac, przyjmuje postac

50u1 + 20u2 + 60u3 + 40u4 → max .

Ograniczenia nałozone na zmienne u1, ..., u4 mozna zapisac nastepujaco:

u1 ≥ 40, u2 ≥ 130, u3 ≥ 30, u4 ≤ 10,

5u1 + u2 + 9u3 + 12u4 ≤ 1500,

2u1 + 3u2 + 4u3 + u4 ≤ 1000,

3u1 + 2u2 + 5u3 + 10u4 ≤ 860

Zatem, uwzgledniajac naturalne ograniczenia nieujemnosci zmiennych u1, ..., u4, mozemy

4

Page 5: Programowanie liniowe w logistycemarmaj.math.uni.lodz.pl/Files/plwlcwiczenia20122013.pdf · Zadanie 1 Zapisa´cnast epuj˛ ace zadanie w postaci zadania programowania liniowego

zapisac badane zagadnienie w postaci nastepujacego zadania programowania liniowego⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩

h(−50,−20,−60,−40), (u1, u2, u3, u4)i→ min .

u ∈ U = {u = (u1, ..., u4) ∈ R4; u ≥ 0,

⎡⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣

5 1 9 12

2 3 4 1

3 2 5 10

−1 0 0 0

0 −1 0 0

0 0 −1 0

0 0 0 1

⎤⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦

⎡⎢⎢⎢⎢⎢⎢⎣u1

u2

u3

u4

⎤⎥⎥⎥⎥⎥⎥⎦ ≤

⎡⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣

1500

1000

860

−40

−130

−30

10

⎤⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦}

.

Zadanie 4 Zapisac nastepujace zadanie w postaci zadania programowania liniowego.

Zadaniem dietetyka jest opracowanie składu porannej owsianki tak, aby zawierała ona

niezbedne dzienne zapotrzebowanie organizmu na okreslone składniki odzywcze i jednoczesnie

była mozliwie najtansza. Dietetyk ma dyspozycji płatki dwóch rodzajów: I i II. Sniadanie

powinno zawierac co najmniej 1 mg witaminy B1, 12 mg zelaza i miec wartosc energety-

czna równa 360 kcal. 100 g płatków I rodzaju zawiera 1, 2 mg witaminy B1, 12 mg zelaza i

ma wartosc energetyczna równa 368 kcal, natomiast 100 g płatków II rodzaju zawiera 1, 5

mg witaminy B1, 10 mg zelaza i ma wartosc energetyczna równa 390 kcal. Ponadto 100

g płatków I rodzaju kosztuje 32 gr, a 100 g płatków II rodzaju - 36 gr.

Rozwiazanie Zadania 4. Wprowadzmy nastepujace oznaczenia:

u1 - ilosc płatków I rodzaju (100 gramowych porcji)

u2 - ilosc płatków II rodzaju (100 gramowych porcji)

Funkcjonał kosztu, który nalezy zminimalizowac jest postaci

32u1 + 36u2,

natomiast ograniczenia mozna zapisac w postaci nastepujacych nierównosci i równosci

1, 2u1 + 1, 5u2 ≥ 1,

12u1 + 10u2 ≥ 12,

368u1 + 390u2 = 360.

5

Page 6: Programowanie liniowe w logistycemarmaj.math.uni.lodz.pl/Files/plwlcwiczenia20122013.pdf · Zadanie 1 Zapisa´cnast epuj˛ ace zadanie w postaci zadania programowania liniowego

Po uwzglednieniu naturalnych ograniczen nieujemnosci zmiennych u1, u2 otrzymujemy

nastepujace zadanie programowania liniowego⎧⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎩

h(32, 36), (u1, u2)i→ min .

u ∈ U = {u = (u1, u2) ∈ R2; u ≥ 0,⎡⎣ −1, 2 −1, 5−12 −10

⎤⎦⎡⎣ u1

u2

⎤⎦ ≤⎡⎣ −1−12

⎤⎦ , h 368 390i⎡⎣ u1

u2

⎤⎦ = [360]} .

Zadanie 5 Zapisac nastepujace zadanie w postaci zadania programowania liniowego.

Dyrektor pewnego przedsiebiorstwa powinien obsadzic trzy stanowiska pracy, majac do

dyspozycji trzech pracowników. Ze wzgledu na rózne ich kwalifikacje oraz zdobyte doswiad-

czenie, wartosc (dla przedsiebiorstwa) kazdego z tych pracowników zalezy od stanowiska,

na którym jest on zatrudniony. Ponizsza tabela zawiera oceny wartosci pracowników za-

trudnionych na poszczególnych stanowiskach

Stanowisko I Stanowisko II Stanowisko III

Pracownik A 5 4 7

Pracownik B 6 7 3

Pracownik C 8 11 2

Nalezy tak rozmiescic pracowników na rozwazanych stanowiskach, by całkowita ich wartosc

dla przedsiebiorstwa była maksymalna. Zakładamy, ze kazdy pracownik powinien byc za-

trudniony łacznie na jeden etat i kazdemu stanowisku powinien byc przypisany jeden etat.

Rozwiazanie Zadania 5. Symbolem ui,j oznaczac bedziemy czesc etatu, na jaka

nalezy zatrudnic i - tego pracownika na j -tym stanowisku. Funkcjał kosztu dla tego

zagadnienia, który nalezy zmaksymalizowac, ma nastepujaca postac

5u1,1 + 4u1,2 + 7u1,3 + 6u2,1 + 7u2,2 + 3u2,3 + 8u3,1 + 11u3,2 + 2u3,3,

6

Page 7: Programowanie liniowe w logistycemarmaj.math.uni.lodz.pl/Files/plwlcwiczenia20122013.pdf · Zadanie 1 Zapisa´cnast epuj˛ ace zadanie w postaci zadania programowania liniowego

zas ograniczenia sa nastepujace:

u1,1 + u1,2 + u1,3 = 1,

u2,1 + u2,2 + u2,3 = 1,

u3,1 + u3,2 + u3,3 = 1,

u1,1 + u2,1 + u3,1 = 1,

u1,2 + u2,2 + u3,2 = 1,

u1,3 + u2,3 + u3,3 = 1.

Uwzgledniajac zatem naturalne ograniczenia nieujemnosci zmiennych ui,j, mozemy badane

zagadnienie zapisac w postaci nastepujacego zadania programowania liniowego⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩

h(−5,−4,−7,−6,−7,−3,−8,−11,−2), (u1,1, ..., u1,3, u2,1, ..., u2,3, u3,1, ..., u3,3)i→ min .

u ∈ U = {u = (u1,1, ..., u1,3, u2,1, ..., u2,3, u3,1, ..., u3,3) ∈ R9;

u ≥ 0,

⎡⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣

1 1 1 0 0 0 0 0 0

0 0 0 1 1 1 0 0 0

0 0 0 0 0 0 1 1 1

1 0 0 1 0 0 1 0 0

0 1 0 0 1 0 0 1 0

0 0 1 0 0 1 0 0 1

⎤⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦

⎡⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣

u1,1

u1,2

u1,3

u2,1

u2,2

u2,3

u3,1

u3,2

u3,3

⎤⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦

=

⎡⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣

1

1

1

1

1

1

⎤⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦}.

.

Zadanie 6 Zapisac nastepujace zadanie w postaci zadania programowania liniowego.

Producent farb musi okreslic, ile litrów farby białej, zielonej, niebieskiej i czerwonej powinien

wyprodukowac, aby zysk osiagniety ze sprzedazy był maksymalny. Do produkcji wykorzysty-

wane sa trzy surowce: A, B i C. Producent posiada 230 litrów surowca A, 200 litrów -

surowca B i 170 litrów - surowca C oraz dysponuje kapitałem 160 godzin roboczych. Z

przyjetych zamówien wynika, ze nalezy wyprodukowac co najmniej 125 litrów farby białej,

7

Page 8: Programowanie liniowe w logistycemarmaj.math.uni.lodz.pl/Files/plwlcwiczenia20122013.pdf · Zadanie 1 Zapisa´cnast epuj˛ ace zadanie w postaci zadania programowania liniowego

co najmniej 135 litrów - farby zielonej, co najwyzej 205 litrów - farby niebieskiej i nie

mniej niz 175 litrów - farby czerwonej. Ilosci poszczególnych surowców potrzebnych do

wyprodukowania 1 litra kazdej farby przedstawione sa w nastepujacej tabeli (w litrach)

biała zielona niebieska czerwona

A 0,30 0,60 0,35 0,15

B 0,25 0,20 0,45 0,55

C 0,45 0,20 0,20 0,30

.

Ponadto, wyprodukowanie 1 litra kazdej farby wymaga 15 minut pracy. Zysk ze sprzedazy

1 litra farby białej wynosi 7 zł, zielonej - 6 zł, niebieskiej - 7 zł, czerwonej - 5 zł.

Rozwiazanie Zadania 6. Symbolem u1, u2, u3 oznaczac bedziemy odpowiednio ilosc

(w litrach) farby białej, zielonej, niebieskiej i czerwonej, która nalezy wyprodukowac.

Funkcjał kosztu dla tego zagadnienia, który nalezy zmaksymalizowac, ma nastepujaca

postac

7u1 + 6u2 + 7u3 + 5u4,

zas ograniczenia sa nastepujace:

u1 ≥ 125,

u2 ≥ 135,

u3 ≤ 205,

u4 ≥ 175,

0, 3u1 + 0, 6u2 + 0, 35u3 + 0, 15u4 ≤ 230,

0, 25u1 + 0, 2u2 + 0, 45u3 + 0, 55u4 ≤ 200,

0, 45u1 + 0, 2u2 + 0, 2u3 + 0, 3u4 ≤ 170,

0, 25u1 + 0, 25u2 + 0, 25u3 + 0, 25u4 ≤ 160

Uwzgledniajac zatem standardowe ograniczenia nieujemnosci zmiennych ui, mozemy badane

zagadnienie zapisac w postaci nastepujacego zadania programowania liniowego w postaci

8

Page 9: Programowanie liniowe w logistycemarmaj.math.uni.lodz.pl/Files/plwlcwiczenia20122013.pdf · Zadanie 1 Zapisa´cnast epuj˛ ace zadanie w postaci zadania programowania liniowego

podstawowej⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩

h(−7,−6,−7,−5), (u1, ..., u4)i→ min .

u ∈ U = {u = (u1, ..., u4) ∈ R4;

u ≥ 0,

⎡⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣

−1 0 0 0

0 −1 0 0

0 0 1 0

0 0 0 −1

0, 3 0, 6 0, 35 0, 15

0, 25 0, 2 0, 45 0, 55

0, 45 0, 2 0, 2 0, 3

0, 25 0, 25 0, 25 0, 25

⎤⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦

⎡⎢⎢⎢⎢⎢⎢⎣u1

u2

u3

u4

⎤⎥⎥⎥⎥⎥⎥⎦ ≤

⎡⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣

−125

−135

205

−175

230

200

170

160

⎤⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦

}.

.

Zadanie 7 Zapisac nastepujace zadanie w postaci zadania programowania liniowego.

Hodowca krowy karmi zwierze produktami pochodzacymi z gospodarstwa rolnego. Jednak

ze wzgledu na koniecznosc zapewnienia w diecie odpowiednich ilosci pewnych składników

odzywczych (oznaczmy je przez A,B,C) hodowca musi zakupic raz w roku trzy dodatkowe

produkty (oznaczmy je przez I, II, III), które zawieraja te składniki. Jeden kilogram

produktu I zawiera 63 g składnika A i 9 g składnika B, jeden kilogram produktu II

zawiera 14 g składnika B i 28 g składnika C, zas jeden kilogram produktu III zawiera 50 g

składnika A i 15 g składnika C. Minimalne zapotrzebowanie zwierzecia na poszczególne

składniki wynosi:

870 g składnika A,

200 g składnika B,

450 g składnika C.

Kazdy z produktów zawiera jednak pewne ilosci szkodliwych srodków konserwujacych. I

tak, 1 kg produktu I zawiera 7 g tych srodków, produktu II - 11 g, produktu III - 9 g.

Roczne spozycie tych srodków nie powinno byc wieksze niz 150 g. Przyjmijmy na koniec,

9

Page 10: Programowanie liniowe w logistycemarmaj.math.uni.lodz.pl/Files/plwlcwiczenia20122013.pdf · Zadanie 1 Zapisa´cnast epuj˛ ace zadanie w postaci zadania programowania liniowego

ze 1 kg produktu I kosztuje 35 zł, produktu II - 29 zł, a produktu III - 19 zł. Celem

hodowcy jest ustalenie ilosci kupowanych produktów I, II, III tak, aby zapewnic zwierzeciu

własciwa diete i jednoczesnie poniesc mozliwie najmniejsze koszty.

1.2 Równowaznosc zadan

Zadanie 8 Zapisac zadanie „o stolarzu” w postaci kanonicznego zadania programowania

liniowego.

Rozwiazanie. Odpowiednie zadanie kanoniczne jest nastepujace:⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩

h(−50,−20,−60,−40, 0, ..., 0), (u1, u2, u3, u4, u5, ..., u11)i→ min .

u ∈ U = {u = (u1, ..., u11) ∈ R11; u ≥ 0,⎡⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣

5 1 9 12 1 0 0 0 0 0 0

2 3 4 1 0 1 0 0 0 0 0

3 2 5 10 0 0 1 0 0 0 0

−1 0 0 0 0 0 0 1 0 0 0

0 −1 0 0 0 0 0 0 1 0 0

0 0 −1 0 0 0 0 0 0 1 0

0 0 0 1 0 0 0 0 0 0 1

⎤⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦

⎡⎢⎢⎢⎣u1

...

u11

⎤⎥⎥⎥⎦ =

⎡⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣

1500

1000

860

−40

−130

−30

10

⎤⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦}

.

Zadanie 9 Zapisac nastepujace zadanie programowania liniowego

J(u) = u1 − 3u3 − 2u4 + 15u5 → min .

u ∈ U = {u = (u1, u2, u3, u4, u5) ∈ R5; u1 ≥ 0, u4 ≥ 0, u5 ≥ 0, u1 + 2u3 ≤ 21,

u2 + u4 + 3u5 ≤ 10, u2 − u3 + 7u5 = 2, 2u1 − 7u4 = 9}

w postaci „odpowiedniego” zadania kanonicznego.

10

Page 11: Programowanie liniowe w logistycemarmaj.math.uni.lodz.pl/Files/plwlcwiczenia20122013.pdf · Zadanie 1 Zapisa´cnast epuj˛ ace zadanie w postaci zadania programowania liniowego

Zadanie 10 Zapisac zadanie ogólne⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩

J(u) = u1 + 2u2 + 3u3 → min .

u ∈ U = {u = (u1, u2, u3) ∈ R3; u1 ≥ 0,

10u1 + 20u2 + 30u3 ≤ 11,

100u1 + 200u2 + 300u3 ≤ 1212u1 + 1

3u2 + 1

4u3 = 0}

w postaci zadania kanonicznego.

Zadanie 11 Zapisac zadanie „o diecie” w postaci kanonicznego zadania programowania

liniowego.

Rozwiazanie. Odpowiednie zadanie kanoniczne jest nastepujace:⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩

h(0, 0, 32, 36), (v1, v2, u1, u2)i→ min .

z ∈ Z = {z = (v1, v2, u1, u2) ∈ R4; z ≥ 0,

⎡⎣ v1

v2

⎤⎦+⎡⎣ −1, 2−12

⎤⎦u1 +⎡⎣ −1, 5−15

⎤⎦u2 =⎡⎣ −1−12

⎤⎦ ,[368]u1 + [390]u2 = [360]} =

{z = (z1, ..., z4) ∈ R4; (z1, ..., z4) ≥ 0,

⎡⎢⎢⎢⎣1 0 −1, 2 −1, 5

0 1 −12 −10

0 0 368 390

⎤⎥⎥⎥⎦⎡⎢⎢⎢⎢⎢⎢⎣

z1

z2

z3

z4

⎤⎥⎥⎥⎥⎥⎥⎦ =⎡⎢⎢⎢⎣−1

−12

360

⎤⎥⎥⎥⎦}.

Zadanie 12 Zapisac zadanie ogólne⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩

J(u) = 3u1 + 5u2 + 7u3 + 9u4 → min .

u ∈ U = {u = (u1, u2, u3, u4) ∈ R4; u2 ≥ 0, u4 ≥ 0,

11u1 + 12u2 + 13u3 + 14u4 ≤ 1,

21u1 + 23u3 ≤ −1,

32u2 ≥ 8,11u1 + 1

2u2 + 1

3u3 + 1

4u4 = 2,

111u1 + 1

14u4 = −2}

w postaci zadania kanonicznego.

11

Page 12: Programowanie liniowe w logistycemarmaj.math.uni.lodz.pl/Files/plwlcwiczenia20122013.pdf · Zadanie 1 Zapisa´cnast epuj˛ ace zadanie w postaci zadania programowania liniowego

1.3 Interpretacja geometryczna zadan programowania liniowego

Zadanie 13 Rozwiazac w sposób geometryczny nastepujace zadanie:⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩

J(u) = u1 + u2 → min .

u ∈ U = {u = (u1, u2) ∈ R2; u ≥ 0,

−2u1 − u2 ≤ −2,12u1 − u2 ≤ 1

2,

−u1 + u2 ≤ 2,

u1 ≤ 3}

.

Rozwiazanie.

Zadanie 14 Rozwiazac w sposób geometryczny nastepujace zadanie:⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩

J(u) = −2u1 + u2 → min .

u ∈ U = {u = (u1, u2) ∈ R2; u ≥ 0,

−u1 − u2 ≤ −1,

−u1 + u2 ≤ −1,

−u1 + 2u2 ≤ 0,

2u1 − u2 ≤ 5}

.

12

Page 13: Programowanie liniowe w logistycemarmaj.math.uni.lodz.pl/Files/plwlcwiczenia20122013.pdf · Zadanie 1 Zapisa´cnast epuj˛ ace zadanie w postaci zadania programowania liniowego

Rozwiazanie.

Zadanie 15 Rozwiazac w sposób geometryczny nastepujace zadanie:⎧⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎩

J(u) = 2u1 − u2 → min .

u ∈ U = {u = (u1, u2) ∈ R2; u ≥ 0,

−12u1 + u2 ≤ 2,

−12u1 − u2 ≤ −1}

.

Zadanie 16 Rozwiazac w sposób geometryczny nastepujace zadanie:⎧⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎩

J(u) = −u1 − u2 → min .

u ∈ U = {u = (u1, u2) ∈ R2; u ≥ 0,

−12u1 + u2 ≤ 2,

13u1 − u2 = −1}

.

Zadanie 17 Rozwiazac w sposób geometryczny nastepujace zadanie.

W pewnym zakładzie wytwarzane sa produkty A i B. Do produkcji kazdego z nich wyko-

rzystywana jest praca trzech maszyn: M1, M2, M3. Maszyna M1 moze byc wykorzystana

przez 2400 minut, M2 - 4000 minut, M3 - 2700 minut. Ponizsza tabela podaje czas pracy

kazdej maszyny potrzebny do wyprodukowania jednostki kazdego produktu

13

Page 14: Programowanie liniowe w logistycemarmaj.math.uni.lodz.pl/Files/plwlcwiczenia20122013.pdf · Zadanie 1 Zapisa´cnast epuj˛ ace zadanie w postaci zadania programowania liniowego

A B

M1 3 6

M2 8 4

M3 9 3

Zysk ze sprzedazy jednostki produktu A wynosi 90 zł, B - 60 zł. Nalezy zaplanowac pro-

dukcje tak, by zysk ze sprzedazy był maksymalny.

Zadanie 18 Rozwiazac w sposób geometryczny nastepujace zadanie:⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩

J(u) = −u1 − 3u2 − 2u4 − 3u5 → min .

u ∈ U = {u = (u1, u2, u3, u4, u5) ∈ R5; u ≥ 0,

u1 + 2u4 + 3u5 = 15,

2u1 + u3 + u4 + 5u5 = 20,

u1 + u2 + 2u4 + u5 = 10}

.

Rozwiazanie. Rozwazamy zadanie pomocnicze postaciDc, A

−1b−A

−1AuE+­c, u®→ min .

u ∈ {u ∈ R2; u ≥ 0, A−1Au ≤ A−1b},

gdzie

c = (−1,−3, 0), A =

⎡⎢⎢⎢⎣1 0 0

2 0 1

1 1 0

⎤⎥⎥⎥⎦ , A =⎡⎢⎢⎢⎣2 3

1 5

2 1

⎤⎥⎥⎥⎦ , b =⎡⎢⎢⎢⎣15

20

10

⎤⎥⎥⎥⎦ .Ze wzoru na macierz odwrotna D−1 do macierzy nieosobliwej D:

D−1 =1

detD[(−1)i+jDij]

T

(tutaj Dij jest wyznacznikiem macierzy powstałej z macierzy D przez skreslenie i-tego

wiersza i j-tej kolumny) wynika, ze

A−1=

⎡⎢⎢⎢⎣1 0 0

−1 0 1

−2 1 0

⎤⎥⎥⎥⎦ .14

Page 15: Programowanie liniowe w logistycemarmaj.math.uni.lodz.pl/Files/plwlcwiczenia20122013.pdf · Zadanie 1 Zapisa´cnast epuj˛ ace zadanie w postaci zadania programowania liniowego

A wiec zadanie pomocnicze jest postaci

­(−1,−3, 0), (15,−5,−10)− (2u4 + 3u5,−2u5,−3u4 − u5)

®+­(−2,−3), (u4, u5)

®=­(0,−6), (u4, u5)

®→ min .

u ∈ {u = (u4, u5) ∈ R2; u ≥ 0,

⎡⎢⎢⎢⎣2 3

0 −2

−3 −1

⎤⎥⎥⎥⎦u ≤⎡⎢⎢⎢⎣15

−5

−10

⎤⎥⎥⎥⎦}.Rozwiazujac powyzsze zadanie w sposób graficzny, stwierdzamy, ze jego rozwiazaniem jest

punkt

u∗= (

15

7,25

7).

W konsekwencji, rozwiazaniem zadania wyjsciowego jest punkt

u∗ = (A−1b−A

−1Au∗, u∗) = (0,

15

7, 0,15

7,25

7).

Zadanie 19 Rozwiazac w sposób geometryczny nastepujace zadanie:⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩

J(u) = −u1 − 2u2 + u3 → min .

u ∈ U = {u = (u1, u2, u3, u4, u5) ∈ R5; u ≥ 0,

3u1 − 2u2 + 2u3 − 2u4 + 3u5 = 38,

−u1 + u2 + 3u4 − u5 = 13,

u1 − u2 + u3 = 14}

.

1.4 Punkty wierzchołkowe

Zadanie 20 Znalezc, w oparciu o twierdzenie, punkty wierzchołkowe zbioru

U = {u = (u1, u2) ∈ R2; u ≥ 0, −13u1 + u2 = 1}.

15

Page 16: Programowanie liniowe w logistycemarmaj.math.uni.lodz.pl/Files/plwlcwiczenia20122013.pdf · Zadanie 1 Zapisa´cnast epuj˛ ace zadanie w postaci zadania programowania liniowego

Zadanie 21 Znalezc, w oparciu o twierdzenie, punkty wierzchołkowe zbioru

U = {u = (u1, u2, u3, u4) ∈ R4; u ≥ 0,

u1 + u2 + 3u3 + u4 = 3, u1 − u2 + u3 + 2u4 = 1}.

Rozwiazanie. Łatwo widac, ze

rank

⎡⎣ 1 1 3 1

1 −1 1 2

⎤⎦ = 2.

10 Niech j1 = 1, j2 = 2. Kolumny A1 =

⎡⎣ 11

⎤⎦, A2 =⎡⎣ 1

−1

⎤⎦ sa liniowo niezalezne.Ponadto, rozwiazaniem układu

A1v1 +A2v

2 = b,

czyli ⎧⎨⎩ v1 + v2 = 3

v1 − v2 = 1

jest para v1 = 2 ≥ 0, v2 = 1 ≥ 0. Zatem punkt v = (2, 1, 0, 0) jest nieosobliwym punktem

wierzchołkowym zbioru U z baza A1, A2.

20 Niech j1 = 1, j2 = 3. Kolumny A1 =

⎡⎣ 11

⎤⎦, A3 =⎡⎣ 31

⎤⎦ sa liniowo niezalezne.Ponadto, rozwiazaniem układu

A1v1 +A3v

3 = b,

czyli ⎧⎨⎩ v1 + 3v3 = 3

v1 + v3 = 1

jest para v1 = 0 ≥ 0, v3 = 1 ≥ 0. Zatem punkt v = (0, 0, 1, 0) jest osobliwym punktem

wierzchołkowym zbioru U z baza A1, A3.

30 Niech j1 = 1, j2 = 4. Kolumny A1 =

⎡⎣ 11

⎤⎦, A4 =⎡⎣ 12

⎤⎦. sa liniowo niezalezne.Ponadto, rozwiazaniem układu

A1v1 +A4v

4 = b,

16

Page 17: Programowanie liniowe w logistycemarmaj.math.uni.lodz.pl/Files/plwlcwiczenia20122013.pdf · Zadanie 1 Zapisa´cnast epuj˛ ace zadanie w postaci zadania programowania liniowego

czyli ⎧⎨⎩ v1 + v4 = 3

v1 + 2v4 = 1

jest para v1 = 5 ≥ 0, v4 = −2 < 0. Zatem kolumny A1, A4 nie sa baza dla zadnego

punktu wierzchołkowego.

40 Niech j1 = 2, j2 = 3. Kolumny A2 =

⎡⎣ 1

−1

⎤⎦, A3 =⎡⎣ 31

⎤⎦ sa liniowo niezalezne.Ponadto, rozwiazaniem układu

A2v2 +A3v

3 = b,

czyli ⎧⎨⎩ v2 + 3v3 = 3

−v2 + v3 = 1

jest para v2 = 0 ≥ 0, v3 = 1 ≥ 0. Zatem punkt v = (0, 0, 1, 0) jest osobliwym punktem

wierzchołkowym zbioru U z baza A2, A3.

50 Niech j1 = 2, j2 = 4. Kolumny A2 =

⎡⎣ 1

−1

⎤⎦, A4 =⎡⎣ 12

⎤⎦. sa liniowo niezalezne.Ponadto, rozwiazaniem układu

A2v2 +A4v

4 = b,

czyli ⎧⎨⎩ v2 + v4 = 3

−v2 + 2v4 = 1

jest para v2 = 53≥ 0, v4 = 4

3≥ 0. Zatem punkt v = (0, 5

3, 0, 4

3) jest nieosobliwym punktem

wierzchołkowym zbioru U z baza A2, A4.

60 Niech j1 = 3, j2 = 4. Kolumny A3 =

⎡⎣ 31

⎤⎦, A4 =⎡⎣ 12

⎤⎦ sa liniowo niezalezne.Ponadto, rozwiazaniem układu

A3v3 +A4v

4 = b,

czyli ⎧⎨⎩ 3v3 + v4 = 3

v3 + 2v4 = 1

17

Page 18: Programowanie liniowe w logistycemarmaj.math.uni.lodz.pl/Files/plwlcwiczenia20122013.pdf · Zadanie 1 Zapisa´cnast epuj˛ ace zadanie w postaci zadania programowania liniowego

jest para v3 = 1 ≥ 0, v4 = 0 ≥ 0. Zatem punkt v = (0, 0, 1, 0) jest osobliwym punktem

wierzchołkowym zbioru U z baza A3, A4.

Zadanie 22 Znalezc punkty wierzchołkowe zbioru

U = {u = (u1, u2, u3, u4) ∈ R4; u ≥ 0,

u1 + u4 = 0, 2u2 + u4 = 3, 3u3 = 0}

i wskazac ich bazy.Rozwiazanie. Łatwo widac, ze

rank

⎡⎢⎢⎢⎣1 0 0 1

0 2 0 1

0 0 3 0

⎤⎥⎥⎥⎦ = 3.

10 Niech j1 = 1, j2 = 2, j3 = 3. Kolumny A1 =

⎡⎢⎢⎢⎣1

0

0

⎤⎥⎥⎥⎦, A2 =⎡⎢⎢⎢⎣0

2

0

⎤⎥⎥⎥⎦, A3 =⎡⎢⎢⎢⎣0

0

3

⎤⎥⎥⎥⎦sa liniowo niezalezne (mozna to sprawdzic, korzystajac z pojecia wyznacznika macierzy).

Ponadto, rozwiazaniem układu

A1v1 +A2v

2 +A3v3 = b,

czyli ⎧⎪⎪⎪⎨⎪⎪⎪⎩v1 = 0

2v2 = 3

3v3 = 0

jest "trójka" v1 = 0 ≥ 0, v2 = 96≥ 0, v3 = 0 ≥ 0. Zatem punkt v = (0, 9

6, 0, 0) jest

osobliwym punktem wierzchołkowym zbioru U z baza A1, A2, A3.

20 Niech j1 = 1, j2 = 2, j3 = 4. Kolumny A1 =

⎡⎢⎢⎢⎣1

0

0

⎤⎥⎥⎥⎦, A2 =⎡⎢⎢⎢⎣0

2

0

⎤⎥⎥⎥⎦, A4 =⎡⎢⎢⎢⎣1

1

0

⎤⎥⎥⎥⎦ saliniowo zalezne (mozna to sprawdzic, korzystajac z pojecia wyznacznika macierzy).

Zatem nie sa one baza zadnego punktu wierzchołkowego zbioru U .

18

Page 19: Programowanie liniowe w logistycemarmaj.math.uni.lodz.pl/Files/plwlcwiczenia20122013.pdf · Zadanie 1 Zapisa´cnast epuj˛ ace zadanie w postaci zadania programowania liniowego

30 Niech j1 = 1, j2 = 3, j3 = 4. KolumnyA1 =

⎡⎢⎢⎢⎣1

0

0

⎤⎥⎥⎥⎦, A3 =⎡⎢⎢⎢⎣0

0

3

⎤⎥⎥⎥⎦, A4 =⎡⎢⎢⎢⎣1

1

0

⎤⎥⎥⎥⎦ sa lin-iowo niezalezne (mozna to sprawdzic, korzystajac z pojecia wyznacznika macierzy).

Ponadto, rozwiazaniem układu

A1v1 +A3v

3 +A4v4+ = b,

czyli ⎧⎪⎪⎪⎨⎪⎪⎪⎩v1 + v4 = 0

v4 = 3

3v3 = 0

jest "trójka" v1 = −3 < 0, v3 = 0 ≥ 0, v4 = 3 ≥ 0. Zatem kolumny A1, A3, A4 nie

sa baza zadnego punktu wierzchołkowego.

40 Niech j1 = 2, j2 = 3, j3 = 4. Niech j1 = 2, j2 = 3, j3 = 4. Kolumny A2 =

⎡⎢⎢⎢⎣0

2

0

⎤⎥⎥⎥⎦,

A3 =

⎡⎢⎢⎢⎣0

0

3

⎤⎥⎥⎥⎦, A4 =⎡⎢⎢⎢⎣1

1

0

⎤⎥⎥⎥⎦ sa liniowo niezalezne (mozna to sprawdzic, korzystajac zpojecia wyznacznika macierzy). Ponadto, rozwiazaniem układu

A2v2 +A3v

3 +A4v4+ = b,

czyli ⎧⎪⎪⎪⎨⎪⎪⎪⎩v4 = 0

2v2 + v4 = 3

3v3 = 0

jest "trójka" v2 = 32> 0, v3 = 0 ≥ 0, v3 = 0 ≥ 0. Zatem punkt v = (0, 3

2, 0, 0) jest

osobliwym punktem wierzchołkowym zbioru U z baza A2, A3, A4.

19

Page 20: Programowanie liniowe w logistycemarmaj.math.uni.lodz.pl/Files/plwlcwiczenia20122013.pdf · Zadanie 1 Zapisa´cnast epuj˛ ace zadanie w postaci zadania programowania liniowego

Zadanie 23 Znalezc punkty wierzchołkowe zbioru

U = {u = (u1, u2, u3) ∈ R3; u ≥ 0,

u1 + 2u2 + 3u3 = 4, −u1 + 5u3 = 0}.

Podac bazy znalezionych punktów wierzchołkowych.

Zadanie 24 Znalezc, w oparciu o twierdzenie, punkty wierzchołkowe zbioru

U = {u = (u1, u2, u3) ∈ R3; u ≥ 0,

u1 + u2 + 2u3 = 10, −u1 + 3u3 = 9,

u1 + 2u2 + 7u3 = 29}.

Rozwiazanie. Łatwo widac, ze

rank

⎡⎢⎢⎢⎣1 1 2

−1 0 3

1 2 7

⎤⎥⎥⎥⎦ = 2.

10 Niech j1 = 1, j2 = 2. Kolumny A1 =

⎡⎢⎢⎢⎣1

−1

1

⎤⎥⎥⎥⎦, A2 =⎡⎢⎢⎢⎣1

0

2

⎤⎥⎥⎥⎦ sa liniowo niezalezne(mozna to sprawdzic, korzystajac z definicji liniowej niezaleznosci wektorów). Ponadto,

rozwiazaniem układu

A1v1 +A2v

2 = b,

czyli ⎧⎪⎪⎪⎨⎪⎪⎪⎩v1 + v2 = 10

−v1 = 9

v1 + 2v2 = 29

jest para v1 = −9 < 0, v2 = 19 ≥ 0. Zatem kolumny A1, A2 nie sa baza dla zadnego

punktu wierzchołkowego.

20 Niech j1 = 1, j2 = 3. Kolumny A1 =

⎡⎢⎢⎢⎣1

−1

1

⎤⎥⎥⎥⎦, A3 =⎡⎢⎢⎢⎣2

3

7

⎤⎥⎥⎥⎦ sa liniowo nieza-lezne (mozna to sprawdzic, korzystajac z definicji liniowej niezaleznosci wektorów).

20

Page 21: Programowanie liniowe w logistycemarmaj.math.uni.lodz.pl/Files/plwlcwiczenia20122013.pdf · Zadanie 1 Zapisa´cnast epuj˛ ace zadanie w postaci zadania programowania liniowego

Ponadto, rozwiazaniem układu

A1v1 +A3v

3 = b,

czyli ⎧⎪⎪⎪⎨⎪⎪⎪⎩v1 + 2v3 = 10

−v1 + 3v3 = 9

v1 + 7v3 = 29

jest para v1 = 125> 0, v3 = 19

5> 0. Zatem punkt v = (12

5, 0, 19

5) jest nieosobliwym

punktem wierzchołkowym zbioru U z baza A1, A3.

30 Niech j1 = 2, j2 = 3. Kolumny A2 =

⎡⎢⎢⎢⎣1

0

2

⎤⎥⎥⎥⎦, A3 =⎡⎢⎢⎢⎣2

3

7

⎤⎥⎥⎥⎦ sa liniowo niezalezne(mozna to sprawdzic, korzystajac z definicji liniowej niezaleznosci wektorów). Pon-

adto, rozwiazaniem układu

A2v2 +A3v

3 = b,

czyli ⎧⎪⎪⎪⎨⎪⎪⎪⎩v2 + 2v3 = 10

3v3 = 9

2v2 + 7v3 = 29

jest para v2 = 4 > 0, v3 = 3 > 0. Zatem punkt v = (0, 4, 3) jest nieosobliwym

punktem wierzchołkowym zbioru U z baza A2, A3.

1.5 Metoda sympleksowa

Zadanie 25 Utworzyc tablice sympleksowa dla zadania⎧⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎩

J(u) = u1 − u2 + 2u4 → min .

u ∈ U = {u = (u1, u2, u3, u4) ∈ R4; u ≥ 0,

2u1 − 3u2 + 4u3 + u4 = 3,

u1 + u2 − 2u3 = 10}

21

Page 22: Programowanie liniowe w logistycemarmaj.math.uni.lodz.pl/Files/plwlcwiczenia20122013.pdf · Zadanie 1 Zapisa´cnast epuj˛ ace zadanie w postaci zadania programowania liniowego

i punktu wierzchołkowego

v = (33

5,17

5, 0, 0).

Zadanie 26 Rozwiazac metoda sympleksowa zadanie⎧⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎩

J(u) = u1 + 2u2 + 3u3 + 4u4 → min .

u ∈ U = {u = (u1, u2, u3, u4) ∈ R4; u ≥ 0,

u1 + u2 + 3u3 + u4 = 3,

u1 − u2 + u3 + 2u4 = 1}

,

startujac z punktu wierzchołkowego

v = (2, 1, 0, 0).

Rozwiazanie. Łatwo widac, ze r = rankA = 2 i w konsekwencji współrzednymi bazowymi

punktu v sa dwie pierwsze współrzedne. Zgodnie z przyjetymi wczesniej oznaczeniami

mamy u = (u1, u2), v = (2, 1), c = (1, 2), B =

⎡⎣ 1 1

1 −1

⎤⎦. ZatemB−1 =

1

−2

⎡⎣ −1 −1−1 1

⎤⎦T =⎡⎣ 1

212

12−12

⎤⎦ ,skad ⎡⎣ γ1,3

γ2,3

⎤⎦ = B−1A3 =

⎡⎣ 21

⎤⎦ ,⎡⎣ γ1,4

γ2,4

⎤⎦ = B−1A4 =

⎡⎣ 32

−12

⎤⎦oraz

∆3 =­c, B−1A3

®− c3 = 1,

∆4 =­c,B−1A4

®− c4 = −

7

2.

Tablica sympleksowa dla punktu v = (2, 1, 0, 0) jest wiec postaci

u1 u2 u3 u4

u1 1 0 2 32

2

u2 0 1 1 −121

0 0 1 −724

.

22

Page 23: Programowanie liniowe w logistycemarmaj.math.uni.lodz.pl/Files/plwlcwiczenia20122013.pdf · Zadanie 1 Zapisa´cnast epuj˛ ace zadanie w postaci zadania programowania liniowego

Łatwo widac, ze dla powyzszej tablicy zachodzi przypadek 30. Mamy

∆3 > 0

I3 = {i ∈ {1, 2}; γi,3 > 0} = {1, 2},

skad

mini∈I3

vi

γi,3= min{2

2,1

1} = 2

2

Zatem k = 3, s = 1 (elementem rozwiazujacym tablicy sympleksowej jest γ1,3 = 2). Baza

kolejnego punktu wierzchołkowego bedzie układ kolumn

A2, A3.

Korzystajac z twierdzenia charakteryzujacego punkty wierzchołkowe znajdujemy kolejny

punkt wierzchołkowy w: ⎡⎣ 1

−1

⎤⎦w2 +⎡⎣ 31

⎤⎦w3 =⎡⎣ 31

⎤⎦ ,skad w = (0, 0, 1, 0). Ponadto, B =

⎡⎣ 1 3

−1 1

⎤⎦ i w konsekwencji

B−1 =1

4

⎡⎣ 1 1

−3 1

⎤⎦T =⎡⎣ 1

4−34

14

14

⎤⎦ ,skad ⎡⎣ γ2,1

γ3,1

⎤⎦ = B−1A1 =

⎡⎣ −1212

⎤⎦ ,⎡⎣ γ2,4

γ3,4

⎤⎦ = B−1A4 =

⎡⎣ −5434

⎤⎦oraz

∆1 =­c,B−1A1

®− c1 = −

1

2,

∆4 =­c, B−1A4

®− c4 = −

17

4.

23

Page 24: Programowanie liniowe w logistycemarmaj.math.uni.lodz.pl/Files/plwlcwiczenia20122013.pdf · Zadanie 1 Zapisa´cnast epuj˛ ace zadanie w postaci zadania programowania liniowego

Tablica sympleksowa dla punktu w = (0, 0, 1, 0) jest wiec postaci

u1 u2 u3 u4

u2 −12

1 0 −540

u3 12

0 1 34

1

−12

0 1 −1743

.

Łatwo widac, ze dla powyzszej tablicy zachodzi przypadek 10, co oznacza, ze punkt w =

(0, 0, 1, 0) jest rozwiazaniem zadania.

Zadanie 27 Rozwiazac metoda sympleksowa zadanie⎧⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎩

J(u) = u1 − u2 + u4 → min .

u ∈ U = {u = (u1, u2, u3, u4) ∈ R4; u ≥ 0,

2u1 − 2u2 + 4u3 + u4 = 2,

u1 + u2 + u4 = 0}

,

startujac z punktu wierzchołkowego ν = (0, 0, 12, 0), wiedzac, ze jego baza jest układ kolumn⎡⎣ 2

1

⎤⎦,⎡⎣ 40

⎤⎦.Zadanie 28 Zapisac zadanie⎧⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎩

J(u) = u1 + 2u2 + 3u3 + 4u4 → min .

u ∈ U = {u = (u1, u2, u3, u4) ∈ R4; u ≥ 0,

u1 + u2 + 3u3 + u4 ≤ 3,

u1 − u2 + u3 + 2u4 = 1}

w postaci zadania kanonicznego, rozwiazac tak otrzymane zadanie metoda sympleksowa,

a nastepnie podac rozwiazanie zadania wyjsciowego.

Zadanie 29 Rozwiazac metoda sympleksowa zadanie⎧⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎩

J(u) = u1 + 2u2 + 3u3 + 4u4 → min .

u ∈ U = {u = (u1, u2, u3, u4) ∈ R4; u ≥ 0,

u1 + u2 + 3u3 + u4 = 3,

u1 − u2 + u3 + 2u4 = 1}

,

24

Page 25: Programowanie liniowe w logistycemarmaj.math.uni.lodz.pl/Files/plwlcwiczenia20122013.pdf · Zadanie 1 Zapisa´cnast epuj˛ ace zadanie w postaci zadania programowania liniowego

startujac z punktu wierzchołkowego

v = (0,5

3, 0,4

3).

Zadanie 30 Sprawdzic, korzystajac z zadania pomocniczego, czy zbiór

U = {u = (u1, u2, u3, u4) ∈ R4; u ≥ 0,

u1 + u2 + 3u3 + u4 = 3,

u1 − u2 + u3 + 2u4 = 1}

jest niepusty i jesli tak - wyznaczyc, przy pomocy metody sympleksowej, punkt wierz-

chołkowy tego zbioru.

Rozwiazanie. Rozwazmy zadanie pomocnicze⎧⎪⎪⎪⎨⎪⎪⎪⎩J(z) = u5 + u6 → min .

Z = {z = (u1, ..., u6) ∈ R6; z ≥ 0 ,

⎡⎣ 1 1 3 1 1 0

1 −1 1 2 0 1

⎤⎦ z =⎡⎣ 31

⎤⎦}Widac, ze b =

⎡⎣ 10

⎤⎦ ≥ 0. Punkt z0 = (0, b) = (0, 0, 0, 0, 3, 1) jest punktem wierz-

chołkowym zbioru Z z baza C5 =

⎡⎣ 10

⎤⎦, C6 =⎡⎣ 01

⎤⎦.Zastosujmy wiec do zadania pomocniczego metode sympleksowa. W tym przypadku

r = 2, j1 = 5, j2 = 6, z = (u5, u6), v = (3, 1), c = (1, 1), B =

⎡⎣ 1 0

0 1

⎤⎦. ZatemB−1 =

⎡⎣ 1 0

0 1

⎤⎦ ,skad ⎡⎣ γ5,1

γ6,1

⎤⎦ = B−1C1 = C1 =

⎡⎣ 11

⎤⎦ ,⎡⎣ γ5,2

γ6,2

⎤⎦ = B−1C2 = C2 =

⎡⎣ 1

−1

⎤⎦ ,25

Page 26: Programowanie liniowe w logistycemarmaj.math.uni.lodz.pl/Files/plwlcwiczenia20122013.pdf · Zadanie 1 Zapisa´cnast epuj˛ ace zadanie w postaci zadania programowania liniowego

⎡⎣ γ5,3

γ6,3

⎤⎦ = B−1C3 = C3 =

⎡⎣ 31

⎤⎦ ,⎡⎣ γ5,4

γ6,4

⎤⎦ = B−1C4 = C4 =

⎡⎣ 12

⎤⎦ .oraz

∆1 =­c,B−1C1

®− c1 = h(1, 1), (1, 1)i− 0 = 2,

∆2 =­c, B−1C2

®− c2 = h(1, 1), (1,−1)i− 0 = 0,

∆3 =­c, B−1A3

®− c3 = h(1, 1), (3, 1)i− 0 = 4,

∆4 =­c, B−1A4

®− c4 = h(1, 1), (1, 2)i− 0 = 3.

Tablica sympleksowa dla punktu v = (0, 0, 0, 0, 3, 1) jest wiec postaci

u1 u2 u3 u4 u5 u6

u5 1 1 3 1 1 0 3

u6 1 −1 1 2 0 1 1

2 0 4 3 0 0 4

.

Dla powyzszej tablicy zachodzi przypadek 30. Mamy

∆1 > 0

Iv,1 = {ji ∈ {5, 6}; γji,1 > 0} = {5, 6},

skad

minji∈Iv,1

vji

γji,1= min{3

1,1

1} = 1

Zatem k = 1, js = 6 (elementem rozwiazujacym tablicy sympleksowej jest γ6,1 = 1). Baza

kolejnego punktu wierzchołkowego bedzie układ kolumn

C1, C5.

Korzystajac z twierdzenia charakteryzujacego punkty wierzchołkowe znajdujemy kolejny

punkt wierzchołkowy w: ⎡⎣ 11

⎤⎦w1 +⎡⎣ 10

⎤⎦w5 =⎡⎣ 31

⎤⎦ ,26

Page 27: Programowanie liniowe w logistycemarmaj.math.uni.lodz.pl/Files/plwlcwiczenia20122013.pdf · Zadanie 1 Zapisa´cnast epuj˛ ace zadanie w postaci zadania programowania liniowego

skad w = (1, 0, 0, 0, 2, 0). Ponadto, B =

⎡⎣ 1 1

1 0

⎤⎦ i w konsekwencji

B−1 =1

−1

⎡⎣ 0 −1

−1 1

⎤⎦T =⎡⎣ 0 1

1 −1

⎤⎦ ,skad ⎡⎣ γ1,2

γ5,2

⎤⎦ = B−1C2 =

⎡⎣ −12

⎤⎦ ,⎡⎣ γ1,3

γ5,3

⎤⎦ = B−1C3 =

⎡⎣ 12

⎤⎦ ,⎡⎣ γ1,4

γ5,4

⎤⎦ = B−1C4 =

⎡⎣ 2

−1

⎤⎦ ,⎡⎣ γ1,6

γ5,6

⎤⎦ = B−1C6 =

⎡⎣ 1

−1

⎤⎦ .oraz

∆2 = h(0, 1), (−1, 2)i− 0 = 2,

∆3 = h(0, 1), (1, 2)i− 0 = 2,

∆4 = h(0, 1), (2,−1)i− 0 = −1,

∆6 = h(0, 1), (1,−1)i− 1 = −2.

Tablica sympleksowa dla punktu w = (1, 0, 0, 0, 2, 0) jest wiec postaci

u1 u2 u3 u4 u5 u6

u1 1 −1 1 2 0 1 1

u5 0 2 2 −1 1 −1 2

0 2 2 −1 0 −2 2

.

Dla powyzszej tablicy zachodzi przypadek 30. Mamy

∆2 > 0

27

Page 28: Programowanie liniowe w logistycemarmaj.math.uni.lodz.pl/Files/plwlcwiczenia20122013.pdf · Zadanie 1 Zapisa´cnast epuj˛ ace zadanie w postaci zadania programowania liniowego

Iv,2 = {ji ∈ {1, 5}; γji,2 > 0} = {5},

skad

minji∈Iv,2

vji

γji,1= min{2

2} = 1

Zatem k = 2, js = 5 (elementem rozwiazujacym tablicy sympleksowej jest γ5,2 = 2). Baza

kolejnego punktu wierzchołkowego bedzie układ kolumn

C1, C2.

Korzystajac z twierdzenia charakteryzujacego punkty wierzchołkowe znajdujemy kolejny

punkt wierzchołkowy w: ⎡⎣ 11

⎤⎦w1 +⎡⎣ 1

−1

⎤⎦w2 =⎡⎣ 31

⎤⎦ ,skad w = (2, 1, 0, 0, 0, 0). Ponadto, B =

⎡⎣ 1 1

1 −1

⎤⎦ i w konsekwencji

B−1 =1

−2

⎡⎣ −1 −1−1 1

⎤⎦T =⎡⎣ 1

212

12−12

⎤⎦ ,skad ⎡⎣ γ1,3

γ2,3

⎤⎦ = B−1C3 =

⎡⎣ 21

⎤⎦ ,⎡⎣ γ1,4

γ2,4

⎤⎦ = B−1C4 =

⎡⎣ 32

−12

⎤⎦ ,⎡⎣ γ1,5

γ2,5

⎤⎦ = B−1C5 =

⎡⎣ 12

12

⎤⎦ ,⎡⎣ γ1,6

γ2,6

⎤⎦ = B−1C6 =

⎡⎣ 12

−12

⎤⎦ .oraz

∆3 = h(0, 0), (2, 1)i− 0 = 0,

28

Page 29: Programowanie liniowe w logistycemarmaj.math.uni.lodz.pl/Files/plwlcwiczenia20122013.pdf · Zadanie 1 Zapisa´cnast epuj˛ ace zadanie w postaci zadania programowania liniowego

∆4 =

¿(0, 0), (

3

2,−12)

À− 0 = 0,

∆5 =

¿(0, 0), (

1

2,1

2)

À− 1 = −1,

∆6 =

¿(0, 0), (

1

2,−12)

À− 1 = −1.

Tablica sympleksowa dla punktu w = (1, 0, 0, 0, 2, 0) jest wiec postaci

u1 u2 u3 u4 u5 u6

u1 1 0 2 32

12

12

2

u2 0 1 1 −12

12−121

0 0 0 0 −1 −1 0

.

Dla powyzszej tablicy zachodzi przypadek 10. Poniewaz J1(2, 1, 0, 0, 0, 0) = 0, wiec zbiór

U jest niepusty. Ponadto, poniewaz punkt z∗ = (2, 1, 0, 0, 0, 0) jest rozwiazaniem zadania

pomocniczego, wiec punkt v1 = (2, 1, 0, 0) jest punktem wierzchołkowym zbioru U .

Zadanie 31 „Kontrprzykład do stwierdzenia: jesli v jest rozwiazaniem zadania, to ∆i ≤

0 dla dowolnego i = 1, ..., n.

⎧⎪⎪⎪⎨⎪⎪⎪⎩J(u1, u2, u3) = u1 + u2 → min .

U = {u = (u1, ..., u3) ∈ R3; u ≥ 0 ,

⎡⎣ 1 0 1

0 1 0

⎤⎦u =⎡⎣ 00

⎤⎦} .

Oczywiscie (0, 0, 0) jest punktem wierzchołkowym zbioru U z baza A1, A2 (na mocy twierdzenia

charakteryzujacego punkty wierzchołkowe). Łatwo widac, ze punkt ten jest rozwiazaniem

zadania. Tablica sympleksowa dla punktu (0, 0, 0) jest postaci

u1 u2 u3

u1 1 0 1 0

u2 0 1 0 0

0 0 1 0

,

29

Page 30: Programowanie liniowe w logistycemarmaj.math.uni.lodz.pl/Files/plwlcwiczenia20122013.pdf · Zadanie 1 Zapisa´cnast epuj˛ ace zadanie w postaci zadania programowania liniowego

poniewaz ⎡⎣ γ1,3

γ2,3

⎤⎦ = B−1A3 =

⎡⎣ 1 0

0 1

⎤⎦⎡⎣ 10

⎤⎦ =⎡⎣ 10

⎤⎦ .oraz

∆3 = h(1, 1), (1, 0)i− 0 = 1.

Zauwazmy dalej, ze dla powyzszej tablicy zachodzi przypadek 30. Łatwo widac, ze k =

3, js = 1. W zwiazku z tym baza nowego punktu wierzchołkowego jest układ A2, A3.

Tym punktem wierzchołkowym jest punkt (0, 0, 0). Teraz tablica sympleksowa dla punktu

(0, 0, 0) jest postaci

u1 u2 u3

u2 0 1 0 0

u3 1 0 1 0

−1 0 0 0

,

poniewaz ⎡⎣ γ2,1

γ3,1

⎤⎦ = B−1A1 =

⎡⎣ 0 1

1 0

⎤⎦⎡⎣ 10

⎤⎦ =⎡⎣ 01

⎤⎦ .oraz

∆1 = h(1, 0), (0, 1)i− 1 = −1,

co oznacza, ze ma miejsce 10 przypadek. Zatem punkt (0, 0, 0) jest rozwiazaniem zadania/

Zadanie 32 Rozwazmy zadanie⎧⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎩

J(u) = u1 + 3u2 − 5u3 + u4 − 3u5 → min .

u ∈ U = {u ∈ R5; u ≥ 0,

u1 + u2 − 4u3 + u4 − 3u5 = 3,

u1 − 4u3 + 2u4 − 5u5 = 6}.

Utworzyc tablice sympleksowa dla punku wierzchołkowego v = (0, 0, 0, 3, 0), wiedzac, ze

współrzednymi bazowymi tego punktu sa współrzedne v1, v4. Czy punkt v jest rozwiazaniem

zadania? Odpowiedz uzasadnic.

30