14. Zadanie przydziału z ustalonym poziomem produkcji i limitowanym czasem pracy planowanie wielkości produkcji (wersja uproszczona) Producent może wytwarzać n rodzajów wyrobów. Każdy z wyrobów można być wytworzony na jednym z m stanowisk (np. maszyn, linii produkcyjnych etc.). Każde ze stanowisk ma określone: wydajności (mierzone jako czasy wyprodukowania 1 jednostki poszczególnych wyrobów), koszt 1 jednostki czasu pracy, górny limit łącznego czasu pracy. Należy zaplanować ile wyrobów produkować na każdym ze stanowisk, aby osiągnąć jeden z następujących celów: zimalizować łączny czas pracy zimalizować łączny koszt pracy nie przekraczając przy tym limitów czasu pracy poszczególnych stanowisk i produkując wymagane ilości wyrobów każdego z rodzajów. Parametry zadania to: a, i1,...,m; j1,...,n czas wyprodukowania jednej jednostki j-tego wyrobu na i-tym stanowisku (mierzony np. w h/t, h/m 3, /szt, s/g etc.) b i, i1,...,m maksymalny czas pracy na i-tym stanowisku przeznaczony na wyprodukowanie wyrobów wszystkich rodzajów (mierzony np. w h,, s); c, i1,...,m koszt jednej jednostki czasu pracy i-tego stanowiska (mierzony np. w PLN/h, PLN/, PLN/s); i d, j1,...,n wymagany poziom produkcji j-tego wyrobu (mierzony np. w t, m 3, szt, l etc.). j Zmienne decyzyjne to:, i1,...,m; j1,...,n ilość j-tego wyrobu wyprodukowana na i-tym stanowisku (liczona np. w t, m 3, szt, etc.) Model matematyczny to a a... a a... a am 1m1 am2 c ( a a 1 2... c ( a a... a m 2... a... a mn... a mn ) ) łączny czas pracy (1 wariant) łączny koszt pracy (2 wariant) cm ( am 1m1 am2m2... amn mn ) przy ograniczeniach 0 i1,...,m; j1,...,n ilości wyrobów są nieujemne; - całkowite (opcjonalnie - dla wyrobów liczonych w szt.) rzeczywiste czasy maksymalne możliwe rzeczywiste wielkości wymagane pracy stanowisk czasy pracy stanowisk produkcji poziomy produkcji a a... a b... d a... a... a b 2 1...... am 1m1 am2m2... amn mn bm 1 n... mn d n Uwaga brak gwarantowanych rozwiązań całkowitoliczbowych Rozważane tu zadanie przydziału, mimo podobieństwa do zadania transportowego, nie ma zagwarantowanych rozwiązań całkowitoliczbowych bez dodawania warunków całkowitoliczbowości zmiennych. Wynika to z faktu, tylko jedna z grup warunków zawiera sumy zwykłe zmiennych, natomiast druga sumy iloczynów zmiennych i liczb. W związku z powyższym twierdzenie o rozwiązaniach całkowitoliczbowych zadania transportowego nie ma zastosowania dla rozważanych modeli. m1 m2 1 d 2 1
Zadanie 4 rodzaje detali mogą być wytwarzane na jednej z 3 obrabiarek. Czasy wytworzenia każdego z rodzajów detali na poszczególnych obrabiarkach są zróżnicowane. Obra- Czasy wytworzenia 1 szt detalu (/szt) Maksymalne czasy biarki D1 D2 D3 D4 pracy () O1 5 3 10 2500 O2 8,5 2 7 3300 O3 14,5 1 5 5,5 00 Wymagane poziomy produkcji (szt) 200 800 780 600 Zaplanować wielkość produkcji detali na poszczególnych obrabiarkach, imalizując przy tym łączny czas pracy: 1. bez całkowitoliczbowości zmiennych; 2. z całkowitoliczbowością zmiennych; 3. (WYZEROWAĆ KOMÓRKI ZMIENIANE) - z całkowitoliczbowością zmiennych oraz z opcją Przyjm model liniowy 4. z całkowitoliczbowością zmiennych, z ustawioną opcją Przyjm model liniowy oraz wartością opcji Tolerancja 0%. Model matematyczny do zadania Zmienne decyzyjne to:, i1,2,3; j1,2,3,4 liczba detali j-tego typu wyprodukowana na i-tej obrabiarce (liczona w sztukach detali j-tego typu, oznaczenie: szt D1,, szt D4), W niniejszym zadaniu stanowiskami pracy, dla których planowane są wielkości produkcji, są oczywiście obrabiarki. Funkcja celu reprezentuje łączny czas pracy., 5 3 1013 14 8,5 2 23 7 14,531 132 533 5,5 przy ograniczeniach rzeczywiste czasy maksymalne możliwe rzeczywiste wielkości pracy stanowisk czasy pracy stanowisk produkcji detali (obrabiarek) (obrabiarek) 31 5 3 1013 14 2500 32 8,5 3 7 3300 13 23. 33 14,531 132 533 5,5 00 14 0, i1,2,3; j1,2,3,4 liczby detali nie mogą być ujemne - całkowite liczby detali muszą być całkowite Objaśnienia do modelu Czasy pracy poszczególnych obrabiarek to: 5 3 10 13 14 8,5 3 7,5 31 132 533 5, 5 14. Dla przykładu pierwsza z sum iloczynów jest rozpisana poniżej z jednostkami: 5 szt D1 3 szt D2 10 13szt D3 14 szt szt D1 szt D2 szt D3 szt D4 D łączny czas pracy obrabiarek w utach wymagane poziomy produkcji detali 200 800 780 600 4. 2
Jak widać sztuki detali wszystkich typów się skracają a zatem cała formuła jest wyrażona w utach. Analogiczne obliczenia można wykonać dla dwóch kolejnych sum iloczynów. Funkcja celu dla 1 wariantu (łączny czas pracy wszystkich stanowisk - obrabiarek w utach) jest sumą trzech powyższych formuł. Sumy iloczynów oznaczające czasy pracy obrabiarek występują także w warunkach uwzględniających limitowane czasy pracy obrabiarek ograniczających (w lewych stronach nierówności). Wprowadzanie danych do komórek arkusza W niniejszym zadaniu komórkami pełniącymi rolę zmiennych decyzyjnych będą B9, C9, D9, E9, B10, C10, D10, E10, B, C, D, E czyli (w skrócie) zakres (tablica) B9:E. Odpowiedniość pomiędzy komórkami a zmiennymi jest następująca: B9 -, C9 -, D9-13, E9-14 B10 -, C10 -, D10-23, E10 - B - 31, C - 32, D - 33, E - 3 Rozmieszczenie danych Funkcja celu (łączny czas pracy wszystkich stanowisk - obrabiarek w utach) to suma iloczynów współczynników wydajności (czasy wyprodukowania detali na poszczególnych stanowiskach) i wielkości produkcji na tychże stanowiskach. Ponieważ jednak czasy pracy poszczególnych 3 stanowisk-obrabiarek występują także w warunkach ograniczających, zatem w komórkach zostaną umieszczone 3 oddzielne sumy iloczynów. Funkcja celu będzie zatem sumą tychże sum iloczynów. Informacja na temat formuł: wprowadzanych przez użytkownika i kopiowanych (funkcja celu i warunki ograniczające) Zapis matematyczny Formuły dosłowne tzn. takie, które należałoby wpisać przy literalnym przełożeniu zapisu matematycznego na składnię Ecela 5 3 1013 14 B3*B9C3*C9D3*D9E3*E9 8,5 3 7 B4*B10C4*C10D4*D10E4*E10 8,5 3 7 B5*BC5*CD5*DE5*E Komórka F9 F10 F Formuły umieszczone w arkuszu odpowiadające formułom dosłownym SUMA.ILOCZYNÓW(B3:E3;B9:E9) SUMA.ILOCZYNÓW(B4:E4;B10:E10) SUMA.ILOCZYNÓW(B5:E5;B:E) Uwagi Wprowadzona przez użytkownika kopiowanie z F9 kopiowanie z F9
Zapis matematyczny Formuły dosłowne tzn. takie, które należałoby wpisać przy literalnym przełożeniu zapisu matematycznego na składnię Ecela 31 B9B10B 32 C9C10C 13 23 33 D9D10D 14 E9E10E 5 3 1013 14 8,5 2 23 7 31 132 533 5, 5 14,5 B3*B9C3*C9D3*D9E3*E9 B4*B10C4*C10D4*D10E4*E10 B5*BC5*CD5*DE5*E1 Komórka B13 C13 D13 E13 F13 Formuły umieszczone w arkuszu odpowiadające formułom dosłownym SUMA(B9:B) SUMA(C9:C) SUMA(D9:D) SUMA(E9:E) SUMA(F9:F) Uwagi Wprowadzona przez użytkownika kopiowanie z B13 kopiowanie z B13 kopiowanie z B13 kopiowanie z B13 4 Wygląd arkusza po kopiowaniu Wygląd arkusza po kopiowaniu (widok formuł)
Ustawienia Solvera Na tym etapie zakończyło się wprowadzanie danych bezpośrednio do komórek arkusza. Mamy następujące związki między zapisem matematycznym a zapisem w Ecelu: B9 -, C9 -, D9-13, E9-14, B10 -, C10 -, D10-23, E10 - B - 31, C - 32, D - 33, E - 5, i1,2,3; j1,2,3,4 liczba detali j-tego typu wyprodukowana na i-tej obrabiarce (liczona w sztukach detali j-tego typu, 5 3 1013 14 F13 8,5 2 23 7 14,531 132 533 5,5 łączny czas pracy obrabiarek w utach przy ograniczeniach F9 F10 rzeczywiste czasy pracy stanowisk (obrabiarek) maksymalne możliwe czasy pracy stanowisk (obrabiarek) 5 3 1013 14 8,5 3 7 14,531 132 533 5,5 2500 3300 F3 F4 B13 C13 rzeczywiste wielkości produkcji detali F 00 F5 D13 13 23. E13 14 B9:E 0, i1,2,3; j1,2,3,4 liczby detali nie mogą być ujemne B9:E - całkowite liczby detali muszą być całkowite 31 32 33 wymagane poziomy produkcji detali 200 800 780 600 B7 C7 D7 E7 Rozwiązania Ad. 1 Zimalizować łączny czas pracy obrabiarek (obliczenia bez całkowitoliczbowości zmiennych). Warunek poniżej został poięty B9:E - całkowite liczby detali muszą być całkowite Ustawienia Solvera imalizacja czasu pracy (bez całkowitoliczbowości zmiennych)
6 Rozwiązanie przy ustawieniach domyślnych Solvera bez warunków całkowitoliczbowości zmiennych. Jak widać, nie jest to rozwiązanie całkowitoliczbowe. Nie jest to również jedno z rozwiązań alternatywnych niecałkowitoliczbowych. Można ten fakt rozpoznać po wartości funkcji celu. Gdyby istniało alternatywne rozwiązanie całkowitoliczbowe, to optymalna wartość funkcji celu byłaby liczbą całkowitą lub z końcówką,5 jako suma iloczynów parametrów a (całkowite wielokrotności 0,5 czyli liczby całkowite lub z końcówką,5). Przykład ten pokazuje, że pomimo podobieństwa w zapisie do zadania transportowego, rozpatrywane zadanie przydziału nie ma zagwarantowanych rozwiązań całkowitoliczbowych, gdy prawe strony warunków ograniczających są całkowite. Oznacza to konieczność dodania warunków całkowitoliczbowości zmiennych. Ad. 2 Zimalizować łączny czas pracy obrabiarek (obliczenia z całkowitoliczbowością zmiennych). Aby rozwiązać zadanie z całkowitoliczbowością zmiennych należy w Solverze dodać warunek B9:E int, który po zatwierdzaniu jest wyświetlany jako $B$9:$E$całkowita. Ustawienia Solvera imalizacja czasu pracy (z całkowitoliczbowością zmiennych)
7 Rozwiązanie przy ustawieniach domyślnych Solvera z warunkami całkowitoliczbowości zmiennych. Rozwiązanie D1 D2 D3 D4 * O1 200 1 0 61 O2 0 0 780 8 O3 0 799 0 291 Minimalny czas pracy potrzebny na wytworzenie wymaganej liczby detali to 7430,5 (3 h 50 30 sek). Wyświetlane w arkuszu wyniki: czas pracy obrabiarki 3 2399,499998 ut oraz łączny czas pracy obrabiarek 7430,499998 wynikają z tego, że obliczona liczba detali typu 4 wyprodukowanych na obrabiarce 3 to de facto 290,999999 zamiast 291 (błąd zaokrąglenia). Uwagi na temat opcji Solvera Przyjm model liniowy Opcja Solvera Przyjm model liniowy służy do włączenia dedykowanego do rozwiązywania zadań programowania liniowego algorytmu simpleks. Jej użycie formalnie nie jest wymagane, gdyż wszystkie zadania programowania liniowego powinny w teorii być rozwiązywalne przy pomocy domyślnego algorytmu uniwersalnego tzn. służącego do rozwiązywania zadań programowania zarówno liniowego jak i nieliniowego. Praktyka jednak pokazuje iż użycie algorytmu simpleks może być koniecznością jak np. w przypadku poszukiwania całkowitoliczbowych rozwiązań wierzchołkowych zadania transportowego. Nawet jeśli rozwiązanie uzyskane przy pomocy domyślnego algorytmu uniwersalnego wydaje się być poprawne, użycie algorytmu simpleks może być warte rozważenia ze względu na większą dokładność obliczeń (mniej błędów zaokrągleń). Od tej chwili, dalsze obliczenia są wykonywane z włączoną opcją Solvera Przyjm model liniowy.
Ad. 3. Zimalizować łączny czas pracy z ustawioną opcją Przyjm model liniowy Uwaga! Rozwiązanie w tym punkcie może się różnić od punktu 2 tylko na niektórych komputerach (zależy do wersji Ecela ora Windows)! 8 Ustawienia Solvera imalizacja czasu pracy (z całkowitoliczbowością zmiennych) Następnie należy włączyć opcję Solvera Przyjm model liniowy (i pozostawić ją włączoną już do końca obliczeń). Rozwiązanie z warunkami całkowitoliczbowości zmiennych oraz włączoną opcją Solvera Przyjm model liniowy. Rozwiązanie * D1 D2 D3 D4 O1 200 6 0 60 O2 0 0 780 8 O3 0 794 0 292 Okazuje się, że rozwiązanie obliczone z włączoną opcją Solvera Przyjm model liniowy jest nieznacznie gorsze (wartość funkcji celu wynosi 74 a nie 7430,5; możliwe są też inne wyniki, większe niż 7430,5). Rozwiązanie to jest w pewnym sensie dokładniejsze niż z wyłączoną opcją Przyjm model liniowy, ponieważ wszystkie wyliczone wartości zmiennych są całkowite za wyjątkiem, która wynosi 291,99999999999 zamiast 292. Dlaczego rozwiązanie zostało obliczone dla gorszej (nieimalnej) wartości funkcji celu? Jest to związane z ustawieniami dotyczącymi obliczeń z całkowitoliczbowością zmiennych i zostanie omówione dalej. *
Opcja Solvera Tolerancja i jej wpływ na obliczenia z całkowitoliczbowością zmiennych W przypadku występowania warunków całkowitoliczbowości zmiennych może nastąpić znaczący wzrost czasu trwania obliczeń w porównaniu z rozwiązywaniem zadania bez tych warunków. Dlatego też domyślne ustawienia Solvera dopuszczają wówczas dla oszczędności czasu znajdowanie rozwiązań z wartością funkcji celu gorszą od optymalnej (niższą dla maksymalizacji, wyższą dla imalizacji). Dozwolona różnica między rozwiązaniem optymalnym, a takim które Solver uznaje za optymalne jest określona w opisanej poniżej opcji Tolerancja. Definicja opcji Tolerancja (wg pliku pomocy do Ecela 2007). Tolerancja. Wartość procentowa informująca, w jakim stopniu wartość komórki docelowej rozwiązania spełniająca ograniczenia całkowite może odbiegać od rzeczywistej wartości optymalnej, aby została uznana za możliwą do zaakceptowania. Ta opcja ma zastosowanie tylko w przypadku zadań z ograniczeniami całkowitymi. Wyższa wartość tolerancji przyspiesza proces poszukiwania rozwiązania. Domyślna wartość opcji Tolerancja to 5%. W Ecelu 2010 i 2013 odpowiednikiem opcji Tolerancja jest opcja Optymalność całkowitoliczbowa z domyślną wartością 1% 9 Uwaga! Opcja Tolerancja/ Optymalność całkowitoliczbowa nie ma związku z opcją wyboru algorytmu simpleks (Przyjm model liniowy lub w Ecelu 2010/2013 Wybierz metodę rozwiązywania: LP simpleks)
Ad. 4. Zimalizować łączny czas pracy z ustawioną opcją Przyjm model liniowy oraz wartością opcji Tolerancja ustawioną na 0% zamiast domyślnej 5%. 10 Ustawienia Solvera imalizacja czasu pracy (z całkowitoliczbowością zmiennych) Należy również ustawić opcję Tolerancja na 0% zamiast domyślnej wartości 5%. Rozwiązanie z warunkami całkowitoliczbowości zmiennych oraz włączoną opcją Solvera Przyjm model liniowy i opcją Tolerancja ustawioną na 0%.
Rozwiązanie D1 D2 D3 D4 * O1 200 1 0 61 O2 0 0 780 8 O3 0 799 0 291 Okazuje się, że tym razem rozwiązanie zadania imalizacji czasu pracy jest dokładne zarówno, jeżeli chodzi o osiągnięcie imum funkcji celu jak i obliczenie wartości zmiennych. Wszystkie wyliczone wartości zmiennych są całkowite oprócz 1,00000000000001 zamiast 1.