最適化セミナーのご案内

3.2.3 混合整数計画問題にかかわるもの(solveLP,solveQP共通:一括省略可)

int* ivtype 変数の種別(長さ:n,0:連続,1:整数,2:バイナリ)
int* pri 変数の分枝優先度(長さ:n,0より小さければ無視,小さい値のものほど優先)
int* dir 変数の優先される分枝方向(長さ:n,正の値:押し上げ,負の値:押し下げ,0:指定なし)
int* until NULLポインタを設定します
double* upc 変数の押し上げ擬コスト(長さ:n,負なら無視,正の値)
double* dpc 変数の押し下げ擬コスト(長さ:n,負なら無視,正の値)

 

 ここに挙げた引数で整数変数の指定を行います.ivtypeが変数の種別を与えるベクトルで,次の意味を持ちます.

0:連続変数
1:一般の整数変数
2:バイナリ変数(0または1)

 

 ivtype自体をNULLポインタにするとすべての変数が連続変数であるという指定と同じ意味となります.untilはNumerical Optimizer V15より廃止されましたので,NULLポインタにします.

 

 priupcdpcdirはモデリング言語SIMPLEを用いた場合にIntegerVariableのメンバとして与えられるものと同じで以下の意味を持ちます.

  • pri(分枝優先順位)の値は小さいものが先に分枝されることになります.分枝優先順位の与えられている変数と与えられていない変数が混在している場合には,分枝優先順位の与えられていない変数は最低の優先順位が与えられたと見なされます.優先順位として0以下の値は与えられても無視し,優先順が与えられないのと同じ扱いとします.
  • upcdpc(擬コスト)の与えられているものと与えられていないものが混在する場合,擬コストが与えられていない変数については擬コストがすべて零であるものとします.どの変数にも擬コストが全く与えられていない場合にのみ,Numerical Optimizerは擬コストを緩和問題から推定した値に設定します.負の擬コストは無視し,与えられていないのと同じ扱いとします.
  • dir(分枝優先方向)は最初に分枝する方向に関してのパラメータで,符号のみが問題になります.正なら押し上げを優先,負なら押し下げを優先,0なら擬コストからの推定を用いてNumerical Optimizerがどちらを優先するかを決定します.

 pridirupcdpcはすべてNULLポインタとすることができます.その場合にはこれらについて指定をしないのと同じ意味となります.整数変数が存在しない場合には,ivtypeから以降の引数をすべて省略することができます(一括省略).


 

 

上に戻る