掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
Delphiで簡単な線形計画を解きたいです (ID:150541)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
procedure TForm1.Button4Click(Sender: TObject); var i:integer; s:AnsiString; nvars:integer; colData:PFloatArray ; lp:THandle ; procedure ADD(TEXT: String); begin Memo1.Lines.Add(TEXT); end; begin with Memo1 do begin for i:=lines.count-1 downto 0 do begin if (length(lines[i])>=2) and (copy(lines[i],1,2)= '--') then break else lines.delete(i); end; end; lp := make_lp(0,2); //********** ADD('#1'); set_col_name(lp, 1, 'x'); ADD('#21'); //********** set_col_name(lp, 2, 'y'); ADD('#22'); //********** if (lp <> 0) then begin s:= '120' + ' ' + '210'; str_add_constraint(lp,PAnsiChar(s),1,15000); ADD('#31'); //********** s:= '110' + ' ' + '30'; str_add_constraint(lp,PAnsiChar(s),1,4000); ADD('#32'); //********** s:= '1' + ' ' + '1'; str_add_constraint(lp,PAnsiChar(s),1,75); ADD('#33'); //********** s:= '143' + ' ' + '60'; if str_set_obj_fn(lp, PAnsiChar(s)) then begin ADD('#4'); //********** set_maxim(lp); ADD('#5'); //********** if solve(lp)=0 then begin ADD('#6'); //********** add(''); add('Solved'); add('Optimum variable values are:'); nvars:=get_nColumns(lp); ADD('#7'); //********** colData:=AllocMem(SizeOf(Double)*2) ; get_variables(lp,colData); ADD('#8'); //********** for i:=0 to nvars-1 do {display variable values} begin add(format('%s = %.3f',[get_col_name(lp,i+1),colData[i]])); ADD('#91'); //********** add(format('Objective value: %f', [get_objective(lp)])); ADD('#92'); //********** end; FreeMem(colData); end; end; end; delete_lp(lp); ADD('#10'); //********** end; で例外でるとき Memo にどこまで表示されている?
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.