Rok akademicki |
Tytuł ćwiczenia: |
Data wykonania: |
2006/2007 |
Zadanie 5. Zadanie obciążenia maszyn w gnieździe produkcyjnym |
16.04.2007 |
Kierunek studiów |
|
|
ZiIP |
Nazwisko i imię: |
Ocena: |
dzienne |
Żymła Agnieszka |
|
Rok III |
|
|
xij - oznacza liczbę jednostek j-tego wyrobu, którą należy wyprodukować na i-tej maszynie
Cmax - czas wykonywania zlecenia, równy łącznemu czasowi pracy najbardziej obciążonej
maszyny
Zapis modelu matematycznego w AMPL-u:
zmienne decyzyjne:
var x {i in M, j in N} >=0 integer;
var Cmax >=0;
funkcja celu:
minimize czas: Cmax;
ograniczenia:
subject to ilosc_sztuk {j in N}: sum {i in M} x[i,j]=b[j];
subject to czas_dysponowany {i in M}: sum {j in N} p[i,j]*x[i,j]<=T[i];
subject to czas_wykonania {i in M}: sum {j in N} p[i,j]*x[i,j]<=Cmax;
parametr bj - ilość produkowanych wyrobów typu j:
param b:= 1 45 2 180 3 50 4 90 5 100 6 75 7 54 8 125 9 125 10 35;
parametr Ti - łączny czas dysponowany maszyny typu i w ciągu całego okresu planowania:
param T:= 1 270 2 50 3 100 4 50 5 20 6 125;
parametr pij - czas wykonywania jednostki j-tego wyrobu na i-tej maszynie:
param p: 1 2 3 4 5 6 7 8 9 10:=
1 0.125 0.250 1000 0.500 0.250 1000 0.750 0.355 1000 0.425
2 0.250 0.166 0.250 0.333 1000 0.550 1000 1000 1000 0.950
3 1000 1000 0.500 0.250 0.166 1000 1000 0.959 0.450 0.255
4 1000 1000 1000 1000 1000 0.025 0.325 1000 0.650 1000
5 0.459 0.560 0.457 1000 0.543 1000 0.623 1000 0.750 0.220
6 0.367 0.214 0.324 0.789 1000 0.458 0.560 0.759 0.325 1000;
Interpretacja otrzymanych wyników:
Zlecenie zostanie wykonane w przeciągu 41,273 min (Objective: CZAS = 41.273 (MINimum)). Czas ten jest równy czasowi dysponowanemu na trzeciej maszynie.
Liczby ujemne w kolumnie „Activity” przy ograniczeniu czas_ wykonania (subject to czas_wykonania {i in M}: sum {j in N} p[i,j]*x[i,j]<=Cmax;) oznaczają różnicę pomiędzy czasem maksymalnym a czasem wykonywania wyrobów na tej maszynie. Wykonywana jest dokładnie taka ilość wyrobów, jaka została zlecona.
Poszczególne wyroby są produkowane na następujących maszynach, w następujących ilościach:
wyrób 1- 23 sztuki na maszynie 1, 21 sztuk na maszynie 2 i 1 sztuka na maszynie 5;
wyrób 2 - 179 sztuk na maszynie 2 i 1 sztuka na maszynie 6;
wyrób 3 - 25 sztuk na maszynie 2 i 25 sztuk na maszynie 5;
wyrób 4 - 90 sztuk na maszynie 3;
wyrób 5 - 100 sztuk na maszynie 3;
wyrób 6 - 75 sztuk na maszynie 4;
wyrób 7 - 53 sztuki na maszynie 4 i 1 sztuka na maszynie 5;
wyrób 8 - 108 sztuk na maszynie 1, 2 sztuki na maszynie 3 i 15 sztuk na maszynie 6;
wyrób 9 - 34 sztuki na maszynie 4 i 91 sztuk na maszynie 6;
wyrób 10 - 1 sztuka na maszynie 3 i 34 sztuki na maszynie 5.
Rok akademicki |
Tytuł ćwiczenia: |
Data wykonania: |
2006/2007 |
Zadanie 6. Inwestycje |
07.05.2007 |
Kierunek studiów |
|
|
ZiIP |
Nazwisko i imię: |
Ocena: |
dzienne |
Żymła Agnieszka |
|
Rok III |
|
|
xj - wielkość nakładów na akcję j
yj - wielkość nakładów na akcję j powyżej cj
uj - liczba akcji j
zj = 1 jeżeli kupowane są akcję j, 0 inaczej
Wariant A!
Zapis modelu matematycznego w AMPL-u:
zmienne decyzyjne:
var x {j in N}>=0;
var y {j in N}>=0;
var u {j in N} >=0 integer;
var z {j in N} binary;
funkcja celu:
maximize zysk: sum {j in N} (b[j]*x[j]-d[j]*y[j]);
ograniczenia:
subject to OGR1: sum {j in N} x[j]<=W;
subject to OGR2 {j in N}: x[j]<=(W/a[j])*z[j];
subject to OGR3 {j in N}: a[j]*u[j]=x[j];
subject to OGR4 {j in N}: x[j]<=c[j]+y[j];
subject to OGR5: sum {j in N} z[j]>=nmin;
subject to OGR6 {p in P,q in Q}: z[p]+z[q]<=1;
subject to OGR7a: 0.75*sum {j in N:j<=k} x[j] <= sum {j in N: j>=k+1} x[j];
subject to OGR8a: 1.25*sum {j in N:j<=k} x[j] >= sum {j in N: j>=k+1} x[j];
parametr W - maksymalna wielkość inwestycji:
param W:= 45000000;
parametr aj - cena kaucji firmy j:
param a:= 1 90 2 135 3 35 4 25 5 45 6 25 7 50 8 45 9 100 10 50 11 205 12 75 13 75 14 180;
parametr bj - średnia stopa zwrotu z akcji firmy j:
param b:= 1 0.30 2 0.33 3 0.21 4 0.15 5 0.45 6 0.06 7 0.42 8 0.51 9 0.57 10 0.27 11 0.39 12 0.39 13 0.45 14 0.60;
parametr cj - limitowa kwota inwestycji w akcje firmy j:
param c:= 1 9900 2 5750 3 850 4 750 5 1350 6 1250 7 1500 8 4500 9 11000 10 5500 11 12050 12 1750 13 5750 14 6000;
parametr dj - zmniejszenie stopy zwrotu akcji firmy j:
param d:= 1 0.10 2 0.11 3 0.07 4 0.05 5 0.15 6 0.02 7 0.14 8 0.17 9 0.19 10 0.09 11 0.13 12 0.09 13 0.15 14 0.20;
Interpretacja otrzymanych wyników:
Zysk całkowity wynosi 1778317,1 (Objective: zysk = 1778317.1 (MAXimum)).
Zmienna x w kolumnie Activity obrazuje wielkość nakładów na daną akcję, a zmienna y wielkość nakładów na daną akcję, ale powyżej wartości cj.
Akcje firmy są nabywane w następujących ilościach:
Dla akcji typu:
- 1 liczba akcji wynosi 5555, wielkość nakładów na akcje wynosi 499950, wielkość nakładów na akcje powyżej wartości cj ze zmniejszoną stopą zwrotu o dj wynosi 490050;
- 4 liczba akcji wynosi 72000, wielkość nakładów na akcje wynosi 1.8e+006, wielkość nakładów na akcje powyżej wartości cj ze zmniejszoną stopą zwrotu o dj wynosi 1.79925e+006;
- 5 liczba akcji wynosi 22222, wielkość nakładów na akcje wynosi 999990, wielkość nakładów na akcje powyżej wartości cj ze zmniejszoną stopą zwrotu o dj wynosi 998640;
- 8 liczba akcji wynosi 22222, wielkość nakładów na akcje wynosi 999990, wielkość nakładów na akcje powyżej wartości cj ze zmniejszoną stopą zwrotu o dj wynosi 995490;
- 9 liczba akcji wynosi 4500, wielkość nakładów na akcje wynosi 450000, wielkość nakładów na akcje powyżej wartości cj ze zmniejszoną stopą zwrotu o dj wynosi 439000;
- 10 liczba akcji wynosi 18000, wielkość nakładów na akcje wynosi 900000, wielkość nakładów na akcje powyżej wartości cj ze zmniejszoną stopą zwrotu o dj wynosi 894500;
- 11 liczba akcji wynosi 1070, wielkość nakładów na akcje wynosi 219350, wielkość nakładów na akcje powyżej wartości cj ze zmniejszoną stopą zwrotu o dj wynosi 207300;
- 12 liczba akcji wynosi 8000, wielkość nakładów na akcje wynosi 600000, wielkość nakładów na akcje powyżej wartości cj ze zmniejszoną stopą zwrotu o dj wynosi 598250;
- 13 liczba akcji wynosi 8000, wielkość nakładów na akcje wynosi 600000, wielkość nakładów na akcje powyżej wartości cj ze zmniejszoną stopą zwrotu o dj wynosi 594250;
- 14 liczba akcji wynosi 1388, wielkość nakładów na akcje wynosi 249840, wielkość nakładów na akcje powyżej wartości cj ze zmniejszoną stopą zwrotu o dj wynosi 243840;
Ograniczenie 1 informuje nas o łącznej wartości inwestycji, która wynosi 7.31912e+006.
Ograniczenie 2 podaje różnicę pomiędzy wartością nakładów na akcję j, a wartością dozwoloną tego nakładu.
Ograniczenie 3 sprawdza, czy iloczyn ceny akcji i jej zakupionej ilości jest równy wartości nakładu, co w rezultacie daje same zera przy spełnieniu tego warunku.
Ograniczenie 4 jest różnicą pomiędzy wartością nakładów na akcję j, a wartością nakładów powyżej cj.
Ograniczenie 5 informuje, że zostały zakupione akcje 10 firm.
Ograniczenie 6 nie pozwala na inwestycje w 2 rodzaje akcji. Otrzymujemy 1 przy każdej parze wartości, co oznacza, że w każdej parze zainwestowano w którąś z akcji.
Ograniczenie 7a od lewej strony równania odejmuje prawą i otrzymujemy różnicę między 0,75 wartości nakładów na akcje od 1 do 7, a wartością nakładów na akcje od 8 do 14. Ograniczenie 8a działa tak samo tylko zmienia się wartość 0,75 na 1,25 (policzenie tego samego od drugiej strony).
Wariant B!
ograniczenia:
subject to OGR1: sum{j in N}x[j]<=W;
subject to OGR2 {j in N}: x[j]<=(W/a[j])*z[j];
subject to OGR3 {j in N}: a[j]*u[j]=x[j];
subject to OGR4 {j in N}:x[j]<=c[j]+y[j];
subject to OGR5: sum{j in N}z[j]>=nmin;
subject to OGR6 {p in P, q in Q}: z[p]+z[q]<=1;
subject to OGR7b {k in N:k<n}:0.75*sum{j in N:j<=k}x[j]<=sum{j in N:j>=k+1}x[j];
subject to OGR8b {k in N:k<n}:1.25*sum{j in N:j<=k}x[j]>=sum{j in N:j>=k+1}x[j];
Zysk całkowity wynosi 185375.4 (Objective: zysk = 185375.4 (MAXimum)).
Zmienna x w kolumnie Activity obrazuje wielkość nakładów na daną akcję, a zmienna y wielkość nakładów na daną akcję, ale powyżej wartości cj.
Akcje firmy są nabywane w następujących ilościach:
Dla akcji typu:
- 1 liczba akcji wynosi 2879, wielkość nakładów na akcje wynosi 259110, wielkość nakładów na akcje powyżej wartości cj ze zmniejszoną stopą zwrotu o dj wynosi 249210;
- 5 liczba akcji wynosi 30, wielkość nakładów na akcje wynosi 1350, wielkość nakładów na akcje powyżej wartości cj ze zmniejszoną stopą zwrotu o dj wynosi 0;
- 8 liczba akcji wynosi 101, wielkość nakładów na akcje wynosi 4545, wielkość nakładów na akcje powyżej wartości cj ze zmniejszoną stopą zwrotu o dj wynosi 45;
- 9 liczba akcji wynosi 488, wielkość nakładów na akcje wynosi 488000, wielkość nakładów na akcje powyżej wartości cj ze zmniejszoną stopą zwrotu o dj wynosi 37800;
- 11 liczba akcji wynosi 58, wielkość nakładów na akcje wynosi 11890, wielkość nakładów na akcje powyżej wartości cj ze zmniejszoną stopą zwrotu o dj wynosi 0;
- 12 liczba akcji wynosi 22, wielkość nakładów na akcje wynosi 1650, wielkość nakładów na akcje powyżej wartości cj ze zmniejszoną stopą zwrotu o dj wynosi 0;
- 13 liczba akcji wynosi 77, wielkość nakładów na akcje wynosi 5775, wielkość nakładów na akcje powyżej wartości cj ze zmniejszoną stopą zwrotu o dj wynosi 25;
- 14 liczba akcji wynosi 1388, wielkość nakładów na akcje wynosi 249840, wielkość nakładów na akcje powyżej wartości cj ze zmniejszoną stopą zwrotu o dj wynosi 243840;
Ograniczenie 1 informuje nas o łącznej wartości inwestycji, która wynosi 582960.
Ograniczenie 2 podaje różnicę pomiędzy wartością nakładów na akcję j, a wartością dozwoloną tego nakładu.
Ograniczenie 3 sprawdza, czy iloczyn ceny akcji i jej zakupionej ilości jest równy wartości nakładu, co w rezultacie daje same zera przy spełnieniu tego warunku.
Ograniczenie 4 jest różnicą pomiędzy wartością nakładów na akcję j, a wartością nakładów powyżej cj.
Ograniczenie 5 informuje, że zostały zakupione akcje 8 firm.
Ograniczenie 6 nie pozwala na inwestycje w 2 rodzaje akcji. Otrzymujemy 1 przy każdej parze wartości, co oznacza, że w każdej parze zainwestowano w którąś z akcji.
I tak w przypadku par: [2,5], [2,12], [2,14], [3,5], [3,12], [3,14], [6,5], [6,12], [6,14], [7,5], [7,12], [7,14] dostajemy wartość 1, co oznacza, że w tej parze zainwestowano w którąś z akcji.
Ograniczenie 7b od lewej strony równania odejmuje prawą i otrzymujemy różnicę między 0,75 wartości nakładów na akacje zaczynając od k=1 do k=13, np. gdy k=8 lewa strona równania sumuje nakłady na akcje od 1 do 8, a prawa od 9 do 14.
Ograniczenie 8b działa tak samo tylko zmienia się wartość 0,75 na 1,25 (policzenie tego samego od drugiej strony).
Rok akademicki |
Tytuł ćwiczenia: |
Data wykonania: |
2006/2007 |
Zadanie 7. Przepływy w sieciach |
11.06.2007 |
Kierunek studiów |
|
|
ZiIP |
Nazwisko i imię: |
Ocena: |
dzienne |
Żymła Agnieszka |
|
Rok III |
|
|
Zapis modelu matematycznego w AMPL-u:
zmienna decyzyjna:
var x {i in wierz, j in wierz} integer>=0;
funkcja celu:
minimize z: sum{i in wierz, j in wierz:(i,j) in kraw}c[i,j]*x[i,j];
ograniczenia:
subject to ogr1 {i in pocz}:sum{j in wierz:(i,j) in kraw}x[i,j]-sum{j in wierz:(j,i) in kraw}x[i,j]=a[i];
subject to ogr2 {i in posr}: sum{j in wierz:(i,j) in kraw}x[i,j] - sum{j in wierz:(j,i) in kraw}x[i,j]=0;
subject to ogr3 {i in konc}: sum{j in wierz:(i,j) in kraw}x[i,j] - sum{j in wierz:(j,i) in kraw}x[i,j]=-b[i];
subject to ogr4 {i in wierz, j in wierz:(i,j) in kraw}: x[i,j]<=d[i,j];
parametr ai - zapas towarów:
param a:= 40 50;
parametr bi - zapotrzebowanie na towar:
param b:= 30 50;
parametr cij - koszt przesłania jednostki towaru przez łuk (i,j):
param c:= 3 4 10 9 5 2;
parametr dij - pojemność każdego łuku (i,j):
param d:= 55 56 57 58 59 60;
Interpretacja otrzymanych wyników:
Minimalny koszt przepływu wynosi 320.
Ograniczenie 1 informuje, iż ilość towaru w punktach początkowych nie może przekroczyć odpowiednio 40 i 50.
Ograniczenie 2 informuje, iż ilość towaru pobieranego i zapotrzebowanego musi się równoważyć.
Ograniczenie 3 informuje, iż zapotrzebowanie na towar w punktach końcowych nie może przekroczyć odpowiednio -30 i -50.
Ograniczenie 4 informuje, iż przepływ towarów na krawędziach przesyłu musi być mniejszy od pojemności łuków.