[x, fval, status]=IP

Transkrypt

[x, fval, status]=IP
Optimization Toolbox for Matlab
Programowanie całkowitoliczbowe liniowe - funkcja IP()
Składnia funkcji:
[x, fval, status]=IP(f, A, b, Aeq, beq, lb, ub, M, e)
Definicja problemu:
M - wektor wskazujący, które zmienne mają być całkowite, indeksy zmiennych należy
rozdzielić przecinkiem
e - precyzja obliczeń domyślnie: 2^-24
Zmienne wyjściowe:
x - wartości zmiennych decyzyjnych,
fval - wartość funkcji celu dla znalezionych wartości zmiennych decyzyjnych,
status - informacja o wyniku poszukiwań optimum: 1 - poszukiwanie zakończone sukcesem,
0 - liczba zaplanowanych iteracji osiągnięta przed znalezieniem optimum, -1 - brak
znalezionego rozwiązania
Przykład 1.
Firma stolarska produkuje dwa rodzaje stołów: „Modern” i „Classic”, cieszących się na rynku
dużym zainteresowaniem, z uwagi na kształt mebli oraz ich stosunkowo niską cenę. Do
produkcji tych zestawów używa się szlachetnego drewna dwóch gatunków, których
dostępne zasoby są jedynymi czynnikami ograniczającymi wielkość produkcji. Jednostkowe
nakłady poszczególnych gatunków drewna, ich tygodniowe zasoby, jakimi dysponuje firma
oraz cenę zbytu każdego rodzaju zestawu mebli przedstawiono w tabeli 1.
Tabela 1.
Zestaw mebli
Modern
Classic
Zasoby (m3)
Nakłady jednostkowe
gatunek A
gatunek B
3
(m /zestaw)
(m3/zestaw)
6
5
10
4
36
20
Cena zbytu
(j.p./zestaw)
3,0
4,5
-
Zadanie polega na ustaleniu takiej liczby wyprodukowanych w ciągu tygodnia obu rodzajów
zestawów meblowych przy dostępnych w tym czasie zasobach drewna, aby firma osiągnęła
maksymalny utarg z ich sprzedaży.
Przykład 2.
W fabryce wytwarza się dwa produkty I i II. Wytworzenie jednostki produktu I wymaga
zużycia 8 jednostek surowca A i 2 jednostek surowca B, wyprodukowanie zaś jednostki
produktu II wymaga 5 jednostek surowca A i 5 jednostek surowca B. Dostawy surowców
w każdy dniu wynoszą: 40 jednostek surowca A i 25 jednostek surowca B. Zakładając, że zysk
ze sprzedaży jednostki produktu I wynosi 9 zł, ze sprzedaży zaś produktu II – 8 zł, należy
określić wielkość dziennej produkcji maksymalizującej potencjalny zysk łączny. Wielkość
produkcji musi być wyrażona w liczbach całkowitych.
Programowanie binarne
Składnia funkcji:
[x, fval]=bintprog(f, A, b, Aeq, beq)
Definicja problemu:
Zmienne wyjściowe:
x - wartości zmiennych decyzyjnych,
fval - wartość funkcji celu dla znalezionych wartości zmiennych decyzyjnych,
Przykład 3.
W hali fabrycznej znajduje się kilka gniazd produkcyjnych. Każde gniazdo wytwarza innego
rodzaju wyroby w różnej ilości. Wyroby gotowe odbierane są przez transporter. Porusza się
on po z góry wyznaczonych trasach przemieszczając się od wejścia w kierunku magazynu
wyrobów gotowych. Zakładamy, że transporter jest przeznaczony do przewozu wszystkich
rodzajów wyrobów. Na rysunku 1. przedstawiono schemat hali produkcyjnej oraz możliwe
drogi, po których może poruszać się transporter. Podano również średni czas (w minutach),
w jakim transporter pokonuje dany odcinek swojej trasy. Zadanie polega na wyznaczeniu
ścieżki, po której transporter ma się poruszać, aby pokonać trasę od wejścia do magazynu
w jak najkrótszym czasie.
WEJŚCIE
2
2
1
2
3
3
8
3
4
6
5
14
17
6
6
12
21
5
7
7
8
13
9
10
11
15
12
MAGAZYN
Rysunek 1.
16
6
10