Курсовая работа: Выбор параметров контроля с использованием метода динамического программирования и метода ветвей и границ
implementation
function Q(j: integer; H: TH; P: TP): extended;
var i: integer;
begin
Result := 0;
for i:=0 to 9 do
if H[i,j] then
Result := Result + P[i];
end;
function G(j: integer; H: TH; P: TP; W: TW): extended;
var i,k: integer;
begin
Result := 0;
for i:=0 to 9 do
if H[i,j] then
for k:=0 to 9 do
if W[k].E and H[i,k] then
begin
Result := Result + P[i];
Break;
end;
end;
function f(n, Yk, j: integer; H: TH; P: TP; C: TC; var W: TW): extended;
begin
Result := Q(j,H,P) + maxf(n+1, Yk - C[j], H,P,C, W) - G(j,H,P,W);
end;
function maxf(n, Yk: integer; H: TH; P: TP; C: TC; var W: TW): extended;
var j,i: integer;
ft: extended;