• Nie Znaleziono Wyników

Elementy modelowania matematycznego

N/A
N/A
Protected

Academic year: 2021

Share "Elementy modelowania matematycznego"

Copied!
7
0
0

Pełen tekst

(1)

Elementy modelowania matematycznego

Jakub Wróblewski jakubw@pjwstk.edu.pl http://zajecia.jakubw.pl/

Programowanie liniowe.

Metoda Simplex.

ZADANIE LINIOWE

Tortilla z ziemniaków i cebuli (4 porcje)

300 g oliwy, 600 g ziemniaków, 2 cebule, 6 jajek, przyprawy.

Rozgrzać oliwę na patelni, ziemniaki i cebulę pokroić w talarki (...) Pulpeciki greckie (4 porcje)

500 g ziemniaków, 115 g sera feta, 4 cebule, 1 jajko, 45 g oliwy, sok z cytryny, przyprawy, mąka, koper.

Ziemniaki gotować w mundurkach, ugnieść, dodać ser feta (...) Opakowanie (4 porcje) tortilli sprzedamy z zyskiem 8 zł, opakowanie (4 porcje) pulpecików sprzedamy z zyskiem 5 zł.

Mamy w magazynie 60 kg ziemniaków, 27 kg oliwy, 360 jajek, 420 cebul, 12 kg sera feta, dowolnie dużo przypraw i in. składników.

(2)

ZADANIE c.d.

Oznaczmy przez:

x1– liczbę porcji tortilli

x2– liczbę porcji pulpecików Zadanie optymalizacyjne:

znaleźć takie nieujemne x1, x2, by zmaksymalizować zysk:

8 x1+ 5 x2-> max

przy zachwaniu ograniczeń danych tabelką, a więc:

600 x1+ 500 x2< 60000 ...

0 x1+ 115 x2< 12000

12000 115

0 Feta

360 1

6 Jajka

420 4

2 Cebula

27000 45

300 Oliwa

60000 500

600 Ziemniaki

zapas x2

x1

INTERPRETACJA GEOMETRYCZNA

x1 x2

0x1+ 115x2< 12000 100

100 200

600x1+ 500x2< 60000 6x1+ x2< 360

2x1+ 4x2< 420 300x1+ 45x2< 27000

Zbiór dopuszczalny

(3)

INTERPRETACJA GEOMETRYCZNA

x1 x2

100

100 200

kierunek optymalizacji

po ziom

ice jedn

akow ego

zys ku

8x1+ 5x2-> max

Rozwiązanie:

x1= 50 x2= 60 zysk = 700

PRZYPADEK OGÓLNIEJSZY

Mamy n zmiennych nieujemnych x1, ... xn, oraz m warunków ograniczających w postaci liniowej:

Znaleźć maksimum wyrażenia:

Co jest trudnego w problemach liniowych?

• duża liczba wymiarów (np. setki tysięcy)

• wykładnicza liczba potencjalnych rozwiązań

• kłopoty numeryczne (błędy zaokrągleń)

• problemy techniczne (jak przechować np. rzadką macierz kwadratową o boku 100 tys.?)

j n

i

i ij

x b a ≤

= ..1

= n i

i i

x c

..

1

(4)

INTERPRETACJA GEOMETRYCZNA PRZYPADKU OGÓLNEGO

x1 x2

x3

j n nj

jx a x b

a +…+ ≤

1 1

Zbiór dopuszczalny to wielobok n-wymiarowy ograniczony m warunkami (hiperpłaszczyznami).

Optymalne rozwiązanie leży na jednym z wierzchołków.

INNE PRZYKŁADY

Optymalizacja diety

Mamy do dyspozycji n produktów spożywczych. Każdy z nich zawiera pewną ilość każdego z m składników odżywczych. Musimy ułożyć dietę tak, aby:

- zapewnić wymaganą dzienną ilość każdego ze składników, - nie przekroczyć dopuszczalnego górnego ograniczenia na ilość spożywanych produktów,

- zminimalizować koszt posiłku.

(5)

UŻYCIE OPTYMALIZATORA

Xpress-MP, optymalizator Mosel http://www.dashoptimization.com/

(darmowe do celów edukacyjnych) Microsoft Excel, dodatek Solver

model Tortilla uses "mmxprs"

declarations

x: array(1..2) of mpvar ZYSK_JEDN: array(1..2) of real ZIEM: array(1..2) of real OLIWA: array(1..2) of real CEBULA: array(1..2) of real JAJA: array(1..2) of real FETA: array(1..2) of real end-declarations

ZIEM := [600, 500]

OLIWA := [300, 45]

CEBULA := [2, 4]

JAJA := [6, 1]

FETA := [0, 115]

ZYSK_JEDN := [8, 5]

sum(i in 1..2) x(i)*ZIEM(i) <= 60000 sum(i in 1..2) x(i)*OLIWA(i) <= 27000 sum(i in 1..2) x(i)*CEBULA(i) <= 420 sum(i in 1..2) x(i)*JAJA(i) <= 360 sum(i in 1..2) x(i)*FETA(i) <= 12000 Zysk := sum(i in 1..2) x(i)*ZYSK_JEDN(i) maximize(Zysk)

writeln("x1 = ",getsol(x(1))) writeln("x2 = ",getsol(x(2))) writeln("Zysk = ",getobjval)

JAK DZIAŁAJĄ SOLVERY

Najpowszechniejszą metodą rozwiązywania zagadnień

programowania liniowego jest znana od 1947 roku (G.B. Dantzig) metoda sympleksowa (simplex).

1. Przedstawiamy zadanie w postaci kanonicznej:

0

min

=

→ x

b Ax

x c

T

gdzie x to wektor zmiennych, c – wektor kosztów, T oznacza transpozycję, b to wektor nieujemnych ograniczeń, A to macierz współczynników, zapis oznacza w skrócie, że wszystkie współrzędne są nieujemne.

≥0 x

(6)

METODA SIMPLEX – c.d.

Nie wszystkie zadania są od razu w tej postaci. Jeśli zamiast ograniczeń równościowych mamy nierównościowe (jak w przykładzie o tortilli), możemy je sprowadzić do równościowych wprowadzając pomocnicze parametry, czyli zwiększając liczbę zmiennych:

( a

1j

x

1

+ … + a

nj

x

n

≤ b

j

) ( → a

1j

x

1

+ … + a

nj

x

n

+ x

n+1

= b

j

∧ x

n+1

0 )

Podobnie omija się nakaz nieujemności zmiennych.

Możemy zamienić koszt na ujemny, by z zadania maksymalizacji zrobić minimalizację.

Ponadto możemy przekształcić zadanie w dualne (równoważne):

zamiana minimalizacji na maksymalizację, nierówności na równania.

METODA SIMPLEX – c.d.

Kolejne kroki metody Simplex to znalezienie dopuszczalnego rozwiązania bazowego (w interpretacji graficznej: jeden z wierzchołków bryły) poprzez przekształcenie macierzy A i policzenie odwrotności jej fragmentu.

Następnie algorytm przegląda sąsiednie wierzchołki i wybiera taki, który daje spadek funkcji celu. Algebraicznie polega to na

wymianie pewnych kolumn macierzy.

Algorytm zatrzymuje się w rozwiązaniu optymalnym.

(7)

LITERATURA

K. Zorychta, W. Ogryczak. „Programowanie liniowe i całkowitoliczbowe”. WNT, Warszawa 1981.

M. Sysło, N. Deo, J. Kowalik. „Algorytmy optymalizacji dyskretnej”. PWN, Warszawa 1999.

http://www-unix.mcs.anl.gov/otc/Guide/faq/

Cytaty

Powiązane dokumenty

 Dominanta (wartość modalna, moda, wartość najczęstsza) to jedna z miar tendencji centralnej, statystyka dla zmiennych o rozkładzie dyskretnym, wskazująca na wartość

wykorzystujące regułę decyzyjna MAP (maksimum prawdopodobieństwa a posteriori ), klasyfikacja jest tak długo poprawna, jak długo poprawna klasa jest bardziej prawdopodobna

 Najprostrzym sposobem zrobienia tego jest podanie rozkładu cechy dla danej próby, będącego zapisem jakie wartości cecha przyjmuje w próbie i jak często... Wykresy dla danych

 Rozkład warunkowy zmiennej losowej X pod warunkiem, że zmienna losowa Y przyjęła wartość y, czyli że Y = yg, jest dany funkcją... Para

 Kryterium stopu: Zatrzymamy konstrukcji drzewa, gdy aktualny zbiór obiektów:..  jest

 W zadaniu dualnym będą oczywiście dwie zmienne y1, y2, gdyż w ZP występują dwa ograniczenia (co zaznaczono przy ZP), a samo zadanie dualne do rozważanego zadania ZP

 W zadaniu dualnym będą oczywiście dwie zmienne y1, y2, gdyż w ZP występują dwa ograniczenia (co zaznaczono przy ZP), a samo zadanie dualne do rozważanego zadania ZP

 Może się więc zdarzyć, że mamy do czynienia z deterministycznym procesem chaotycznym, w którym jutrzejsze zachowanie określone jest.. ścisłym wzorem, a mimo to proces