Przykad 1. Chcemy obliczy maksimum oraz minimum dla podanej funkcji dwch
zmiennych. W tym celu musimy najpierw zdefiniowa t funkcj.
>
259
260
Pierwszy element rozwizania jest wartoci minimaln, jak przyjmuje funkcja celu w
obrbie narzuconych ogranicze. Drugi element wskazuje punkt, dla ktrego osigamy to
minimum; jak wiadomo, nie musi to by jeden jedyny punkt.
Przykad 3. Przeanalizujmy nastpujce zagadnienie optymalizacji:
> obj := 4*x^2-y+x+5;
> cnsts := [x+y-7*x>=-11, 11/2*x+y<=0,x>=-4];
261
Polecenie QPSolve pozwala na znalezienie optymalnej wartoci funkcji, jak rwnie punktu,
w ktrym to ekstremum wystpuje.
> QPSolve(4*x^2-y+x+5, {x+y-7*x>=-11, 11/2*x+y<=0,x>=-10});
262
Zwykle w takich przypadkach sporzdzamy wykres funkcji, aby przekona si, czy
znalezione minimum (maksimum) jest globalne, czy tylko lokalne; polecenie NLPSolve
znajduje lokalne minima.
> p1:= plot(f,x=1..20):
p2:=pointplot([[rhs(s[2][1]),s[1]]],color=green,symbolsize=14):
display(p1,p2);
W takim przypadku otrzymamy warto "+1" gdy a<b, warto "-1" gdy a>b oraz "0" w
kadym innym przypadku. Operacja powtarzania ma nastpujc struktur ogln: for i
from a to b by c do x od;. Operacja x wykonana jest wtedy, gdy zmienna i
263
Inn wersj operacji powtarzania stosujemy w postaci for i from a by c while warunek
do x od;.
Operacja x wykonywana jest wtedy, gdy warunek jest speniony, dla zmiennej i
Powtarzanie zostao tutaj przerwane po trzecim kroku, gdy 11!>10290. Trzecia wersja
operacji powtarzania jest oparta na nastpujcym poleceniu: for i in wyraenie do x
do. Zmienna i przyjmuje tutaj kolejne operandy wyraenia i dla kadej wartoci
264
>
Generalnie wartoci zwracan dowolnej procedury jest ostatnio obliczona warto. Istnieje
rwnie moliwo jawnego wyjcia z procedury i jawnego zwrcenia wartoci przy pomocy
nastpujcego polecenia RETURN:
>
>
>
Funkcja cat suy do sklejania cigw znakowych i zostaa uyta w celu uniknicia przecinka
pojawiajcego si pomidzy elementami sekwencji zwracanej przez funkcj RETURN.
265
266