MATEMATYCZNE METODY OPTYMALIZACJI
Szałecki Piotr , 192271
1. Z pliku w formacie excela losujemy 3 cechy z 4, jeśli któraś się powtarza losowanie trwa dalej do momentu aż zostaną wylosowane 3 różne.
2. Następnie liczymy funkcje celu (zmienne con1, con2 itp.). Wygląda podobnie jak z losowaniem cech:
- wybieramy losową wartość oraz minimum i maximum z akrusza. Warunek który spełniać ma dana cecha jest liczny według wzoru uniform distribution: con3 = baza(:,8) > (2 + (8-2).*rand(1,1)). Wartości liczbowe z podanego przykładu do minimum i maximum danej cechy
z arkusza. Następnie sprawdzamy czy wartość danej cechy jest większa lub mniejsza od wyniku równania i zapisujemy 0 lub 1 (tylko jedynki są brane pod uwagę w dalszej ewaluacji)
- baza(:,4) oznacza wszystkie wartości z tej kolumny, więc w ten sposób warunek zostaje sprawdzony dla wszystkich wartości cechy w arkuszu
- wyniki tych wszystkich warunków zapisujemy w zmiennej con1, con2 itp, który staje
się zbiorem danych
3. Następnym krokiem jest deklaracja zmiennej con, która zbierze nam wyniki zmiennych con1, con2 itp przy użyciu koniunkcji (oba argumenty prawdziwe). Dostajemy wyniki (procesory), dla których wszystkie trzy warunki zostały spełnione (najpierw oczywiście jak con jest zerem przypisujemy
po prostu wartości pierwszej cechy).
4. W ten sposób przechodzimy do kolejnego punktu, czyli konwertujemy con na double i zapisujemy w zmiennej opt . Następnie w macierzy con dodajemy drugą kolumnę, w której zapisujemy zera.
5. W tym punkcie liczymy wagi dla poszczególnych wartości z arkusza na podstawie wag ustalonych na początku pliku, czyli:
- sprawdzamy czy pierwsza kolumna macierzy opt jest różna od zera (to znaczy spełnione
są warunki dla wszystkich 3 cech)
- mnożymy wagę danej cech razy jej wartość z arkusza i dodajemy do drugiej kolumny
w macierzy opt
- tą czynność powtarzamy dla wszystkich 3 cech i tak otrzymujemy sumę wartości cech pomnożonych przez ich wagi
Oczywiście wszystko dzieje się w pętli po kolejnych wartościach arkusza.
6. Na końcu, gdy mamy już wszystkie sumy porównujemy je i wybieramy zwycięską. Następnie wyświetlany jest numer wybranego procesora oraz cechy brane pod uwagę. Na końcu pokazywany jest wykres wszystkich procesorów, które spełniały wszystkie trzy warunki a kolorem zielonym przedstawiony jest procesor wygrywający. Może zdarzyć się też tak, iż żaden z procesorów nie spełnia warunków – wtedy zwracane jest 0 i należy powtórzyć wywołanie programu.