Nuorium Optimizer C++SIMPLEマニュアル V27
株式会社NTTデータ数理システム
1. モデリング言語C++SIMPLEとは
2. 数理最適化問題を記述する(チュートリアル)
2.1 目的関数・変数・制約
2.2 定数
2.3 集合・添字
2.4 集約・複数の添字
2.5 式
2.6 整数変数
2.7 結果出力関数
2.8 デバッグ出力関数
2.9 C++SIMPLEを記述する際の注意点
3. C++SIMPLE基本事項
3.1 利用方法
3.2 C++SIMPLEによる数理最適化計算の流れ
3.2.1 Windows版における手順
3.2.2 UNIX/Linux版における手順
3.2.3 備考
4. C++SIMPLE一般事項
4.1 基本的な内容
4.1.1 行末のセミコロン;
4.1.2 半角空白文字と改行
4.1.3 構成要素の順序
4.1.4 モデルファイル内で利用できない文字
4.1.5 name引数に利用できない文字
4.1.6 データファイル内で利用できない文字
4.2 高度な内容
4.2.1 外部接続におけるC++オブジェクトの宣言と代入
4.2.2 標準出力の抑制
4.2.3 UNIX/Linux 版におけるデータファイルの文字コード指定について
4.2.4 変数の上下限
5. 数理最適化モデルの構成要素
5.1 変数クラスVariable
5.2 目的関数クラスObjective
5.3 制約式クラスConstraint
5.4 定数クラスParameter
5.4.1 double型への変換
5.4.2 char*型への変換
5.5 整数変数クラスIntegerVariable
5.6 範囲演算関数sum, prod
5.7 対称行列クラスSymmetricMatrix
5.8 式クラスExpression
5.9 添字クラスElement
5.10 集合クラスSet
5.10.1 追加操作 add
5.10.2 自動代入の禁止 lock()/unlock()
5.10.3 切断操作 slice
5.11 順序集合クラスOrderedSet
5.12 数列集合Sequence
5.13 条件式
5.14 最小(大)値取得関数min,max
5.15 数学関数
6. 制約充足問題ソルバwcsp
6.1 wcspを用いる場合の注意点
6.2 目的関数クラスObjective
6.3 制約式クラスConstraint
6.3.1 ハード制約関数hardConstraint
6.3.2 セミハード制約関数semiHardConstraint
6.3.3 ソフト制約関数softConstraint
6.3.4 求解オプションdefaultConstraintWeight
6.4 整数変数クラスIntegerVariable
6.5 離散変数クラスDiscreteVariable
6.6 重複不能関数alldiff
6.7 選択関数selection
6.8 最小(大)値取得関数min,max
6.9 カウント関数count
7. 資源制約付きスケジューリング問題ソルバrcpsp
7.1 rcpspの構成要素
7.2 目的関数クラスObjective
7.3 制約式クラスConstraint
7.4 アクティビティクラスActivity
7.4.1 先行制約,直前先行制約
7.4.2 Activityの要素
7.4.3 初期値の設定
7.5 必要資源クラスResourceRequire
7.6 資源供給量クラスResourceCapacity
7.7 モード順序関数 modeOrder
7.8 アクティビティ固定関数fixActivity
7.9 アクティビティ固定解除関数unfixActivity
7.10 資源制約付きスケジューリング問題の重みの設定
7.11 資源制約付きスケジューリング問題記述例
8. データファイル
8.1 データファイルの機能
8.2 dat形式データファイル
8.3 csv形式データファイル
9. 最適化計算制御
9.1 solve関数
9.2 求解オプション options
9.3 最適化計算結果result
9.4 可変定数
9.5 初期値設定SimpleSetInitialValues()
10. 出力制御
10.1 出力対象
10.1.1 制約式に対する .val
10.2 print関数
10.3 simple_printf関数
10.4 simple_fprintf関数
10.5 モデルの内容の表示(showSystem関数)
10.6 解ファイル出力制御
10.7 Nuorium/Excelアドインへの出力制御
11. その他の機能
11.1 Intel oneAPI Math Kernel Libraryのリンク
11.2 MPSファイルおよびLPファイルへの変換
11.2.1 変換方法
11.2.2 MPSファイルへの変換機能使用時の注意
12. Nuorium Optimizer/SIMPLE FAQ
12.1 浮動小数点エラー
12.2 整数の割り算
12.3 添字付けに関するエラー
12.3.1 一次元の場合
12.3.2 二次元の場合
12.3.3 三次元以上の場合
12.3.4 一時オブジェクトの利用の禁止
12.4 for文内部における宣言
12.5 宣言の引数にSIMPLEオブジェクトを含んだ式を入れる
12.6 複数の代入の禁止
12.7 .val と定義域外エラー
12.8 両辺が定数で満たされない制約式
12.9 定数の漸化式の禁止
12.10 添字の自動展開で禁止されている演算子
12.11 集合に紐づいていない添字の条件式における利用の禁止
A. SIMPLE/mknuoptのエラー/警告メッセージ
A.1 SIMPLEのエラー/警告メッセージ
A.2 mknuopt のエラー/警告メッセージ
C++SIMPLEマニュアル
11. その他の機能
11. その他の機能
11.1 Intel oneAPI Math Kernel Libraryのリンク
11.2 MPSファイルおよびLPファイルへの変換
10.7 Nuorium/Excelアドインへの出力制御
11.1 Intel oneAPI Math Kernel Libraryのリンク
上に戻る