最適化パッケージにより返される解
|
デフォルトの解
|
|
|
問題を解く Optimization コマンドは、 () 値とそれを満たす点 () のリストを返します。解を満たす点が一意でない場合には、その中の 1 つだけを解として返します。通常、だけが得られます。極値を計算できる状況については、個々のコマンドのヘルプを参照ください。
問題が代数式で与えられたとき、解を満たす点は varname を変数、 value をそれの値とするときに varname = value を要素とするリストで返します。問題が行列またはオペレータの形の時は、数値ベクトルを返します。
|
|
|
モジュールによる解
|
|
|
最適化パッケージの多くのコマンドは output=solutionmodule オプションを使うことができます。このオプションを使うと、上で説明したデフォルトの出力の代わりにモジュールを返します。
|
|
返ってくるモジュールは 2 つの環境変数 Settings と Results を持ちます。各環境変数は文字列または名前を引数とする手続きです。引数を入力すると、それに対応する値が返ってきます。例として、m にモジュールを割り当てるとき、m:-Results(objectivevalue) は反復法よって得られるの値の返します。引数になにも指定しないときは、使ったすべての情報を等式のリストで返します。
|
|
手続き Settings は引数として次の名前を指定することができます:depthlimit, evaluationlimit, feasibilitytolerance, infinitebound, initialpoint, integertolerance, iterationlimit, nodelimit, objectivetarget, または optimalitytolerance.。これらの名前は Optimization[Options] にある名前に対応しています。オプションが使われていない場合や、値がない場合、手続き Settings はエラーを返します。
|
|
手続き Results は引数として次の名前を指定することができます:evaluations, iterations, objectivevalue, および solutionpoint。引数 objectivevalue および solutionpoint はそれぞれ目的関数の値およびそれを満たす点に対応します。引数 iterations および evaluations はそれぞれ反復回数および評価する性能を指定します。これらの値はすべての算法では使うことはできません。
|
|
|
例
|
|
Optimization[LPSolve] を使い線形計画問題を解きます。最適値とそのときの点を返します。
>
|
LPSolve(-4*x-5*y, {x+2*y<=6, 5*x+4*y<=20, x>=0, y>=0});
|
| (3.1) |
output=solutionmodule オプションを使うことで、m に解を返します。
>
|
m := LPSolve(-4*x-5*y, {x+2*y<=6, 5*x+4*y<=20, x>=0, y>=0}, output=solutionmodule);
|
| (3.2) |
Results を使い解を表示します。
| (3.3) |
t に初期値を返します。
>
|
t := m:-Settings(initialpoint);
|
| (3.4) |
|
|
Download Help Document
Was this information helpful?