Wstęp do 'MATLAB - Optimization Toolbox‘ na przykładzie układu napędu statku zawierającego dwóch silników.
(Funkcja celu to koszt wytwarzanej energii)
% Funkcja celu: F(P1,P2)=1.0+P1+P2+0.1*P1A2+0.1*P2A2;
% Ograniczenia: 1) P1+P2=P, gdzie P=1.5
% 2) Pi_min <= Pi <= Pi_max, gdzie: Pi_min=0.4, Pi_max=1.0.
% 3) 0.5+Pl+0.1*PlA2 <= 1.0
% 0.5+P2+0.1*P2A2 <= 1.0
elear all
% 1- napisać m.plik np. o nazwie 'koszty.m' zawerający funkcję celu
% 2- zaproponować punkt startowy P0=[1;1]; % 3- rozwiązanie przy użyciu funkcji 'fminunc' fminunc(@koszty, PO) % 4- więcej odpowiedzi [P, wartF] = fminunc(@koszty, PO) | |
% 5- zmiana opcji |
% plik koszty.m |
opcje = optimset('LargeScale','off'); |
% Definicja funkcji celu, tj. 'koszt' wytwarzania energii |
[P, wartF] = fminunc(@koszty, PO, opcje) % 6 -więcej informacji o odp. [P, wartF, flagwyj, wyj] = fminunc(@koszty, PO, opcje) |
function koszt = funkcja(P) koszt=1.0+P(l)+P(2)+0.1*P(l)A2+0.1*P(2)A2; |
Podstawy teorii optymalizacji
Oceanotechnika, II stop.,
103