Optymalizacja

Metody wyznaczania wartości optymalnej pod względem określonych kryteriów.

  • Algorytm zachłanny wyznaczania optimum
  • Problem programowania liniowego

Pliki z ćwiczeniami do zajęć do pobrania u dołu strony w dziale pliki

Solver w Excelu

w OpenOffice proszę ściągnąć poniższy dodatek: http://linux.softpedia.com/get/Science-and-Engineering/Mathematics/Optimization-Solver-for-OpenOffice-org-Calc-6433.shtml

Definiowanie funkcji celu

Funkcję celu definiujemy na podstawie treści zadania.
Jej wartość zależy od ilości obsianych akrów pszenicy i żyta (wartości zmiennych - pola pomarańczowe) i zysków.

f_celu.JPG

Definiowanie ograniczeń

Zidentyfikowane w treści ograniczenia obliczamy na podstawie ilości obsianych akrów pszenicy i żyta i odpowiednich wartości kosztów/czasu.

W komórki wpisujemy tylko lewe strony ograniczeń ("warunki"). Przykładowo, jeśli mamy ograniczenie "suma obsianych akrów musi być większa lub równa 7", możemy je zapisać "C7 + D7 >= 7" (gdzie C7 to komórka z liczbą akrów pszenicy, a D7 żyta). Do komórki wpisujemy tylko wyliczenie wartości po "lewej stronie" tego ograniczenia, zatem "= C7 + D7". Wartość ograniczającą (w tym przypadku 7) będziemy definiować w programie solvera.

1_2_ograniczenia.JPG

3_graniczenie.JPG

4_graniczenie.JPG

Solver

Solver uruchamiamy z menu Narzędzia/Solver.

Jeśli nie jest tam dostępny można go dodać z poziomu menu Narzędzia / Dodatki, gdzie można wybrać "Solver" z listy i kliknąć OK. W celu dodania wymagana może być płyta instalacyjna pakietu Office.

W pole "Komórka celu" wpisujemy adres komórki z obliczoną wartością funkcji celu.
Następnie wybieramy kierunek optymalizacji: "Maks", jeśli maksymalizujemy funkcję celu (jak w przykładzie maksymalizujemy zysk rolnika), "Min" jeśli minimalizujemy funkcję celu.

Kolejnym krokiem jest zdefiniowanie adresów komórek zmienianych (tych, w których znajdują się wartości zmiennych składających się na rozwiązanie zadania), w naszym przykładzie są to komórki zawierające liczbę akrów pszenicy i żyta.

Następnie definiujemy ograniczenia dodając kolejno warunki do listy. Klikamy "Dodaj" i wybieramy adres komórki z obliczoną wartością dla bieżącego ograniczenia. Z listy wybieramy operator relacji (większe, mniejsze, większe lub równe, itp) i wpisujemy wartość ograniczającą.
solver_warunek_1.JPG

Czynności powtarzamy dla wszystkich ograniczeń.
solver_all.JPG

W opcjach zaznaczamy "Przyjmij model liniowy" (by uzyskać dokładne rozwiązanie) i "Przyjmij nieujemne" (by operować jedynie na liczbach nieujemych".

Aby uruchomić program solvera należy kliknąć "Rozwiąż".
Pojawi się komunikat z wynikiem działania programu (informacja o tym, czy znaleziono rozwiązanie), a w komórkach arkusza będzie się znajdowało rozwiązanie znalezione przez solver.
solved.JPG

© A. Czoska, M. Komosiński, B. Kroll, A. Kupś, A. Mensfelt, B. Szopka