55
NUOPT http://www.msi.co.jp/nuopt/ SI2004: 2004/12/18 – p.1/36

汎用数理計画法ソフトウエア NUOPT の紹介と利用方法実演大域的最適化アルゴリズム 一般の非線形最適化問題を連続的に凸緩和し,大

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 汎用数理計画法ソフトウエア NUOPT の紹介と利用方法実演大域的最適化アルゴリズム 一般の非線形最適化問題を連続的に凸緩和し,大

汎用数理計画法ソフトウエアNUOPTの紹介と利用方法実演

檀 寛成

(株)数理システム 数理計画室

http://www.msi.co.jp/nuopt/

SI2004: 2004/12/18 – p.1/36

Page 2: 汎用数理計画法ソフトウエア NUOPT の紹介と利用方法実演大域的最適化アルゴリズム 一般の非線形最適化問題を連続的に凸緩和し,大

本発表の構成

数理計画問題とその分類

モデリング言語 SIMPLEとその特徴

NUOPTに実装されたアルゴリズム内点法

逐次二次計画法 (SQP法)その他の解法

次期バージョンの新機能紹介

数値実験の結果

GUIを用いたデモ

SI2004: 2004/12/18 – p.2/36

Page 3: 汎用数理計画法ソフトウエア NUOPT の紹介と利用方法実演大域的最適化アルゴリズム 一般の非線形最適化問題を連続的に凸緩和し,大

数理計画問題

数理計画問題

minimize

� � � �� � � � �

subject to � � �

『制約条件 � � �

の中で目的関数

の値を最小にするような点を求める』

最大化問題は目的関数を � 倍して最小化問題に帰着

���

の定め方で様々な問題クラスが存在

SI2004: 2004/12/18 – p.3/36

Page 4: 汎用数理計画法ソフトウエア NUOPT の紹介と利用方法実演大域的最適化アルゴリズム 一般の非線形最適化問題を連続的に凸緩和し,大

線形計画問題 (LP)

線形計画問題(Linear Programming Problem, LP)

� � minimize � � �� � � � �

subject to� � � �� � � �

全ての関係式が線形で表される

広い応用を持つ問題

SI2004: 2004/12/18 – p.4/36

Page 5: 汎用数理計画法ソフトウエア NUOPT の紹介と利用方法実演大域的最適化アルゴリズム 一般の非線形最適化問題を連続的に凸緩和し,大

非線形計画問題 (NLP)

非線形計画問題(Nonlinear Programming Problem, NLP)

� � � � � � minimize

� � � � � � � � �

subject to � � � � � ��

� � �

� � � � � � minimize

� � � � � � � � �

subject to � � � � � � � � � � � � ��

� � � � � � � � � � � � �

� � � � � � �

, � � � � � � �

�� �: 非線形関数であって構わない

SI2004: 2004/12/18 – p.5/36

Page 6: 汎用数理計画法ソフトウエア NUOPT の紹介と利用方法実演大域的最適化アルゴリズム 一般の非線形最適化問題を連続的に凸緩和し,大

二次計画問題 (QP)

二次計画問題(Quadratic Programming Problem, QP)

� minimize

�! �

� " � # � � �� � � � �

subject to

� � � �� � � �

目的関数:二次関数,制約条件:一次関数

SI2004: 2004/12/18 – p.6/36

Page 7: 汎用数理計画法ソフトウエア NUOPT の紹介と利用方法実演大域的最適化アルゴリズム 一般の非線形最適化問題を連続的に凸緩和し,大

混合整数計画問題 (MIP)

混合整数計画問題(Mixed Integer Programming Problem, MIP)

$ % � � minimize � � �� � � � �

subject to

� � � �� � � ��

� & � ' ��� ( � ) � * �

$ % � minimize

�! �

� " � # � � �� � � � �

subject to

� � � �� � � ��

� & � ' ��� ( � ) � * �

変数(の一部)が

� � 整数変数となっているSI2004: 2004/12/18 – p.7/36

Page 8: 汎用数理計画法ソフトウエア NUOPT の紹介と利用方法実演大域的最適化アルゴリズム 一般の非線形最適化問題を連続的に凸緩和し,大

線形計画問題: 実例

SI2004: 2004/12/18 – p.8/36

Page 9: 汎用数理計画法ソフトウエア NUOPT の紹介と利用方法実演大域的最適化アルゴリズム 一般の非線形最適化問題を連続的に凸緩和し,大

非線形計画問題: 実例

半導体プロセス (イオン注入パラメータ抽出)

Variable +� ,�-

Minimize

&' � � � & . +� ,�- � / & (!�

where

� � � . +� ,�- � �

�� � !

01 2 3 � ! �! # � � � # � 4 3

� � � # � � � 5 � ! �

6 � 4 � ! �!�

7 8 9 : �

� � ! � # � �

6 � 4 � ! �!�

� 4 � +! � 6 - ; ,! � 5 ��� � � + , � - # ; � 5 ��

� ! � � � - ; ,! < � 5 ��

� � � � - � � ,! � =

SI2004: 2004/12/18 – p.9/36

Page 10: 汎用数理計画法ソフトウエア NUOPT の紹介と利用方法実演大域的最適化アルゴリズム 一般の非線形最適化問題を連続的に凸緩和し,大

数理計画問題を取り扱うために

モデル定義

大規模なモデルを簡潔に記述したい

汎用的な記述をしたい

アルゴリズムの適用

微分値の必要性

モデルの制御

解のうち必要な部分のみを取り出したい

モデリング言語の必要性

SI2004: 2004/12/18 – p.10/36

Page 11: 汎用数理計画法ソフトウエア NUOPT の紹介と利用方法実演大域的最適化アルゴリズム 一般の非線形最適化問題を連続的に凸緩和し,大

数理計画問題を取り扱うために

モデル定義

大規模なモデルを簡潔に記述したい

汎用的な記述をしたい

アルゴリズムの適用

微分値の必要性

モデルの制御

解のうち必要な部分のみを取り出したい

モデリング言語の必要性

SI2004: 2004/12/18 – p.10/36

Page 12: 汎用数理計画法ソフトウエア NUOPT の紹介と利用方法実演大域的最適化アルゴリズム 一般の非線形最適化問題を連続的に凸緩和し,大

数理計画問題を取り扱うために

モデル定義

大規模なモデルを簡潔に記述したい

汎用的な記述をしたい

アルゴリズムの適用

微分値の必要性

モデルの制御

解のうち必要な部分のみを取り出したい

モデリング言語の必要性

SI2004: 2004/12/18 – p.10/36

Page 13: 汎用数理計画法ソフトウエア NUOPT の紹介と利用方法実演大域的最適化アルゴリズム 一般の非線形最適化問題を連続的に凸緩和し,大

数理計画問題を取り扱うために

モデル定義

大規模なモデルを簡潔に記述したい

汎用的な記述をしたい

アルゴリズムの適用

微分値の必要性

モデルの制御

解のうち必要な部分のみを取り出したい

モデリング言語の必要性

SI2004: 2004/12/18 – p.10/36

Page 14: 汎用数理計画法ソフトウエア NUOPT の紹介と利用方法実演大域的最適化アルゴリズム 一般の非線形最適化問題を連続的に凸緩和し,大

数理計画問題を取り扱うために

モデル定義

大規模なモデルを簡潔に記述したい

汎用的な記述をしたい

アルゴリズムの適用

微分値の必要性

モデルの制御

解のうち必要な部分のみを取り出したい

モデリング言語の必要性

SI2004: 2004/12/18 – p.10/36

Page 15: 汎用数理計画法ソフトウエア NUOPT の紹介と利用方法実演大域的最適化アルゴリズム 一般の非線形最適化問題を連続的に凸緩和し,大

モデリング言語 SIMPLEの特徴

数学的関係が自然な形で記述できる

Variable, Parameter, Constraint, Objective, ...

大規模モデルを簡便に記述できる

添字が利用可能

C++のクラスを生成するモジュール化が可能

外部からの制御が可能

必ずしも数理計画問題だけではなく,数理科学的な一般のシステムを記述できるように拡張可能

SI2004: 2004/12/18 – p.11/36

Page 16: 汎用数理計画法ソフトウエア NUOPT の紹介と利用方法実演大域的最適化アルゴリズム 一般の非線形最適化問題を連続的に凸緩和し,大

SIMPLEによる記述例 (1)

Hock & Schittkowski: No. 7

変数 � �� � !

目的関数(最小化)

01 2 � � # � !� � � !

制約条件

� � # � !� �! # � !! � 6

SI2004: 2004/12/18 – p.12/36

Page 17: 汎用数理計画法ソフトウエア NUOPT の紹介と利用方法実演大域的最適化アルゴリズム 一般の非線形最適化問題を連続的に凸緩和し,大

SIMPLEによる記述例 (1)

Hock & Schittkowski: No. 7

変数 � �� � !

目的関数(最小化)

01 2 � � # � !� � � !

制約条件

� � # � !� �! # � !! � 6

Variable x1, x2;Objective f(type = minimize);f = log(1 + x1 * x1) - x2;pow(1 + x1*x1, 2) + x2 * x2 == 4;

SI2004: 2004/12/18 – p.12/36

Page 18: 汎用数理計画法ソフトウエア NUOPT の紹介と利用方法実演大域的最適化アルゴリズム 一般の非線形最適化問題を連続的に凸緩和し,大

SIMPLEによる記述例 (2)

Set Brand;

Element i(set = Brand), j(set = Brand);

Variable x(name="組入れ比率", index=j);

Parameter Q(name="分散共分散行列", index=(i,j));

Parameter rbar(name="期待収益率", index=j);

Parameter rmin(name="ポートフォリオの期待収益率下限");

Objective f(name="リスク", type=minimize);

f = sum(Q[i,j]*x[i]*x[j], (i,j));

sum(x[j],j) == 1; //組入れ比率なので合計すると 1

sum(rbar[j]*x[j], j) >= rmin; //期待収益率下限制約

x[j] >= 0; //空売り禁止の制約

SI2004: 2004/12/18 – p.13/36

Page 19: 汎用数理計画法ソフトウエア NUOPT の紹介と利用方法実演大域的最適化アルゴリズム 一般の非線形最適化問題を連続的に凸緩和し,大

計算グラフと自動微分 (1)

SI2004: 2004/12/18 – p.14/36

Page 20: 汎用数理計画法ソフトウエア NUOPT の紹介と利用方法実演大域的最適化アルゴリズム 一般の非線形最適化問題を連続的に凸緩和し,大

計算グラフと自動微分 (2)

SI2004: 2004/12/18 – p.15/36

Page 21: 汎用数理計画法ソフトウエア NUOPT の紹介と利用方法実演大域的最適化アルゴリズム 一般の非線形最適化問題を連続的に凸緩和し,大

計算グラフと自動微分 (3)

SI2004: 2004/12/18 – p.16/36

Page 22: 汎用数理計画法ソフトウエア NUOPT の紹介と利用方法実演大域的最適化アルゴリズム 一般の非線形最適化問題を連続的に凸緩和し,大

内点法: 準備 (1)

線形計画問題・非線形計画問題に対する解法.

NLP(1)を標準形とする.

Lagrange関数:

> � �� /� ? � � � � � � /� � � � � ?� �

/: 制約条件 � � � � � � に対する Lagrange乗数

?: 制約条件 � � �

に対する Lagrange乗数

KKT条件:

@A

ABC D >� �� /� ? � � ��

� � � � � ��

E F G � ��E � ��F � �

E � H I 8 2 � � �� � � ���F � H I 8 2 � ? �� � ? ��� G � � �� �� � �

SI2004: 2004/12/18 – p.17/36

Page 23: 汎用数理計画法ソフトウエア NUOPT の紹介と利用方法実演大域的最適化アルゴリズム 一般の非線形最適化問題を連続的に凸緩和し,大

内点法: 概略 (1)

バリヤ KKT条件相補性条件

E F G � � に正のパラメータ J を導入.

次の方程式系の解を

� � � J � � / � J � � ? � J � � とする.

@A

ABK L � �� /� ? � M C D >� �� /� ? � � ��

K � � � � M � � � � � ��

K N � �� ? . J � M E F G J G � �

この条件をバリヤ KKT条件とよぶ.

K � �� /� ? . J � � � K L � �� /� ? � �� K � � � � �� K N � �� ? . J � � � �.

J を正の値から

に近づけることによって得られる� � � J � � / � J � � ? � J � � の軌跡をセンターパスという.

センターパスの極限が元の最適化問題の解である.SI2004: 2004/12/18 – p.18/36

Page 24: 汎用数理計画法ソフトウエア NUOPT の紹介と利用方法実演大域的最適化アルゴリズム 一般の非線形最適化問題を連続的に凸緩和し,大

内点法: 概略 (2)

各反復で次の方程式系 (バリヤ KKT条件に対するNewton方程式)を (近似的に)解く:

O P # E : �P F P ��P

� P �

Q � PQ / P

KPL E : �P K P N

KP�

O P:

C !D> � � P� / P� ? P � もしくはその近似行列

� P � C � � � � P � �Q ? P � E :�P F P Q � P E : �P K P N

O P が半正定値行列であり R が十分大きいとき,

Q � P

はペナルティ関数Sの降下方向となる.

J� R を適当にコントロールすれば,直線探索を行うことにより大域的収束性を確保できる.

SI2004: 2004/12/18 – p.19/36

Page 25: 汎用数理計画法ソフトウエア NUOPT の紹介と利用方法実演大域的最適化アルゴリズム 一般の非線形最適化問題を連続的に凸緩和し,大

内点法: イメージ

SI2004: 2004/12/18 – p.20/36

Page 26: 汎用数理計画法ソフトウエア NUOPT の紹介と利用方法実演大域的最適化アルゴリズム 一般の非線形最適化問題を連続的に凸緩和し,大

内点法: イメージ

SI2004: 2004/12/18 – p.20/36

Page 27: 汎用数理計画法ソフトウエア NUOPT の紹介と利用方法実演大域的最適化アルゴリズム 一般の非線形最適化問題を連続的に凸緩和し,大

内点法: イメージ

SI2004: 2004/12/18 – p.20/36

Page 28: 汎用数理計画法ソフトウエア NUOPT の紹介と利用方法実演大域的最適化アルゴリズム 一般の非線形最適化問題を連続的に凸緩和し,大

内点法: イメージ

SI2004: 2004/12/18 – p.20/36

Page 29: 汎用数理計画法ソフトウエア NUOPT の紹介と利用方法実演大域的最適化アルゴリズム 一般の非線形最適化問題を連続的に凸緩和し,大

内点法: イメージ

SI2004: 2004/12/18 – p.20/36

Page 30: 汎用数理計画法ソフトウエア NUOPT の紹介と利用方法実演大域的最適化アルゴリズム 一般の非線形最適化問題を連続的に凸緩和し,大

内点法: イメージ

SI2004: 2004/12/18 – p.20/36

Page 31: 汎用数理計画法ソフトウエア NUOPT の紹介と利用方法実演大域的最適化アルゴリズム 一般の非線形最適化問題を連続的に凸緩和し,大

SQP法: 準備 (1)

非線形計画問題に対する解法.

NLP(2)を標準形とする.

Lagrange関数:

> � �� / � � � � � � � T U V W U X

/ � � � � � ��

/ � � � � � � Y � � � : Lagrange乗数

KKT条件:

@A

ABC D >� �� / � � ��

� � � � � � � � � � � � � �

� � � � � � �� / � � �� / � � � � � � � � � � � � � �

SI2004: 2004/12/18 – p.21/36

Page 32: 汎用数理計画法ソフトウエア NUOPT の紹介と利用方法実演大域的最適化アルゴリズム 一般の非線形最適化問題を連続的に凸緩和し,大

SQP法: 概略 (1)

現在の反復点 � P で部分問題を解く.

部分問題: 現在の反復点 � P における元の問題NLP(2)の二次計画問題 (QP)による近似

minimize

�! Q �

� O P Q � # C � � � P � � Q �

subject to � � � � P � # C � � � � P � � Q � � � � � � � � � �

� � � � P � # C � � � � P � � Q � � � � � � � � �

O P:

C !D> � � P� / P � もしくはその近似行列

Q � P: この部分問題の解

点列

' � P ( を � P Z � � � � P # [ P Q � P として生成( [ P: ステップサイズ)

SI2004: 2004/12/18 – p.22/36

Page 33: 汎用数理計画法ソフトウエア NUOPT の紹介と利用方法実演大域的最適化アルゴリズム 一般の非線形最適化問題を連続的に凸緩和し,大

SQP法: イメージ

SI2004: 2004/12/18 – p.23/36

Page 34: 汎用数理計画法ソフトウエア NUOPT の紹介と利用方法実演大域的最適化アルゴリズム 一般の非線形最適化問題を連続的に凸緩和し,大

SQP法: イメージ

SI2004: 2004/12/18 – p.23/36

Page 35: 汎用数理計画法ソフトウエア NUOPT の紹介と利用方法実演大域的最適化アルゴリズム 一般の非線形最適化問題を連続的に凸緩和し,大

SQP法: イメージ

SI2004: 2004/12/18 – p.23/36

Page 36: 汎用数理計画法ソフトウエア NUOPT の紹介と利用方法実演大域的最適化アルゴリズム 一般の非線形最適化問題を連続的に凸緩和し,大

SQP法: イメージ

SI2004: 2004/12/18 – p.23/36

Page 37: 汎用数理計画法ソフトウエア NUOPT の紹介と利用方法実演大域的最適化アルゴリズム 一般の非線形最適化問題を連続的に凸緩和し,大

SQP法: イメージ

SI2004: 2004/12/18 – p.23/36

Page 38: 汎用数理計画法ソフトウエア NUOPT の紹介と利用方法実演大域的最適化アルゴリズム 一般の非線形最適化問題を連続的に凸緩和し,大

SQP法: イメージ

SI2004: 2004/12/18 – p.23/36

Page 39: 汎用数理計画法ソフトウエア NUOPT の紹介と利用方法実演大域的最適化アルゴリズム 一般の非線形最適化問題を連続的に凸緩和し,大

SQP法: イメージ

SI2004: 2004/12/18 – p.23/36

Page 40: 汎用数理計画法ソフトウエア NUOPT の紹介と利用方法実演大域的最適化アルゴリズム 一般の非線形最適化問題を連続的に凸緩和し,大

SQP法: イメージ

SI2004: 2004/12/18 – p.23/36

Page 41: 汎用数理計画法ソフトウエア NUOPT の紹介と利用方法実演大域的最適化アルゴリズム 一般の非線形最適化問題を連続的に凸緩和し,大

SQP法: イメージ

SI2004: 2004/12/18 – p.23/36

Page 42: 汎用数理計画法ソフトウエア NUOPT の紹介と利用方法実演大域的最適化アルゴリズム 一般の非線形最適化問題を連続的に凸緩和し,大

SQP法: イメージ

SI2004: 2004/12/18 – p.23/36

Page 43: 汎用数理計画法ソフトウエア NUOPT の紹介と利用方法実演大域的最適化アルゴリズム 一般の非線形最適化問題を連続的に凸緩和し,大

NUOPTの内点法・SQP法

標準的な内点法・SQP法

大規模問題に適した内点法・SQP法を独自に開発内点法:Hiroshi Yamashita, Hiroshi Yabe and Takahito Tanabe,

A globally and superlinearly convergent primal-dual interior point trust region

method for large scale constrained optimization, Mathematical Programming,

to appear.

SQP法:Hiroshi Yamashita and Hiroshige Dan,

Global convergence of a trust region sequantial quadratic programming

method, Journal of Operations Research Society of Japan, to appear.

SI2004: 2004/12/18 – p.24/36

Page 44: 汎用数理計画法ソフトウエア NUOPT の紹介と利用方法実演大域的最適化アルゴリズム 一般の非線形最適化問題を連続的に凸緩和し,大

NUOPTに実装されているアルゴリズム

内点法

直線探索法を用いるもの (LP, convex NLP)準ニュートン法を用いるもの (NLP)信頼領域法を用いるもの (NLP)LP専用内点法 (LP)

逐次二次計画法

準ニュートン法を用いるもの (NLP)信頼領域法を用いるもの (NLP)

単体法 (LP) /有効制約法 (QP)

分枝限定法 (MILP, MIQP)

SI2004: 2004/12/18 – p.25/36

Page 45: 汎用数理計画法ソフトウエア NUOPT の紹介と利用方法実演大域的最適化アルゴリズム 一般の非線形最適化問題を連続的に凸緩和し,大

次期バージョン新機能紹介 (1)

制約充足アルゴリズム

制約充足問題: 制約を満たすように変数に値を割り当てる問題(例)看護士のスケジューリング毎日一定数以上の看護士を確保する一定日数以上の連続勤務は許さないその他様々な条件

『京都大学「問題解決エンジン」グループの開発による制約充足アルゴリズム』を組み込み

モデリング言語 SIMPLEによって問題記述可能

実務的な制約も容易に記述可能

SI2004: 2004/12/18 – p.26/36

Page 46: 汎用数理計画法ソフトウエア NUOPT の紹介と利用方法実演大域的最適化アルゴリズム 一般の非線形最適化問題を連続的に凸緩和し,大

次期バージョン新機能紹介 (2)

大域的最適化アルゴリズム

一般の非線形最適化問題を連続的に凸緩和し,大域的な最適性を保証する解を出力

局所解が多数存在する問題や,精度が要求される複雑な非線形最適化問題への応用が可能

SI2004: 2004/12/18 – p.27/36

Page 47: 汎用数理計画法ソフトウエア NUOPT の紹介と利用方法実演大域的最適化アルゴリズム 一般の非線形最適化問題を連続的に凸緩和し,大

数値実験の結果 (1)

計算環境 (の一例)CPU:Pentium IV 1.5Ghz, Memory:1GbyteC, C++, Fortran 77

実験問題

... (LP)金融工学におけるマルコビッツモデル (QP)Hock & Schittkowski問題集 (NLP)CUTE/CUTEr問題集からの抜粋 (NLP)MIPLIB問題集 (MILP)

SI2004: 2004/12/18 – p.28/36

Page 48: 汎用数理計画法ソフトウエア NUOPT の紹介と利用方法実演大域的最適化アルゴリズム 一般の非線形最適化問題を連続的に凸緩和し,大

数値実験の結果 (2)

内点法による LP対する結果

Problem vars. cons. nonz. timeLP1 383927 201156 1053564 208.3LP2 161692 132021 1868865 170.5LP3 283250 139758 2408585 364.7LP4 308634 246078 902275 74.4

計算時間は非零要素数に依存

SI2004: 2004/12/18 – p.29/36

Page 49: 汎用数理計画法ソフトウエア NUOPT の紹介と利用方法実演大域的最適化アルゴリズム 一般の非線形最適化問題を連続的に凸緩和し,大

数値実験の結果 (3)

有効制約法によるマルコビッツモデルに対する結果

vars. cons. time100 2 0.03500 2 0.08

1000 2 0.251500 2 0.272000 2 0.455000 2 0.91

10000 2 1.86

制約条件数が少なく有効制約法が有利

SI2004: 2004/12/18 – p.30/36

Page 50: 汎用数理計画法ソフトウエア NUOPT の紹介と利用方法実演大域的最適化アルゴリズム 一般の非線形最適化問題を連続的に凸緩和し,大

数値実験の結果 (4)

[Hock & Schittkowski問題集]

小規模 NLPを集めたベンチマーク問題集(115題)変数:

� <

,制約:

� �

内点法: 114題求解可能

SQP法: 113題求解可能解けなかった問題問題 No.13(内点法・SQP法共に求解不可)制約想定(KKT条件が最適性の条件となるための前提)が成立していない問題 No.87(SQP法で求解不可)目的関数が連続微分不可能

NLPに十分適用可能

SI2004: 2004/12/18 – p.31/36

Page 51: 汎用数理計画法ソフトウエア NUOPT の紹介と利用方法実演大域的最適化アルゴリズム 一般の非線形最適化問題を連続的に凸緩和し,大

数値実験の結果 (5)

SQP法による CUTE/CUTEr問題集に対する結果

Problem vars. cons. iter. val.\

timeBRATU2D 3200 2888 4 4.3e-12 43.69BRATU2D 5184 4900 16 1.8e-09 893.99CHANDHEQ 100 100 9 9.5e-07 0.82CHEMRCTA 5000 5000 70 7.0e-11 119.09EXPFITC 5 502 118 5.7e-10 0.74GAUSSELM 506 1135 21 1.6e-17 3.66GRIDNETA 7564 3844 2 1.8e-16 28.37HYDROELL 1009 1008 2 3.5e-15 0.58NLMSURF 5625 0 39 3.2e-07 1927.46ORTHREGA 8197 4096 9 7.2e-07 406.38

SI2004: 2004/12/18 – p.32/36

Page 52: 汎用数理計画法ソフトウエア NUOPT の紹介と利用方法実演大域的最適化アルゴリズム 一般の非線形最適化問題を連続的に凸緩和し,大

数値実験の結果 (4)

NUOPTが求解可能であった問題数(CUTE/CUTEr問題集)

問題規模 問題数 内点法 SQP法 全体

100変数 100制約以下 304 281 269 293

500変数 500制約以下 78 64 60 69

1000変数 1000制約以下 36 17 26 30

3000変数 3000制約以下 24 18 17 20

3000変数 3000制約以上 27 20 17 22

合計 469 400 389 434

SI2004: 2004/12/18 – p.33/36

Page 53: 汎用数理計画法ソフトウエア NUOPT の紹介と利用方法実演大域的最適化アルゴリズム 一般の非線形最適化問題を連続的に凸緩和し,大

数値実験の結果 (6)

分枝限定法による MIPLIB問題集対する結果

Problem vars. cons. intvs. timefiber 1298 364 1254 32.6pp08aCUTS 240 247 64 2011.1air05 7195 427 7195 1199.6qnet1 1541 504 1417 6.3bell3a 133 124 71 65.9pk1 86 46 55 344.1l152lav 1989 98 1989 11.4air03 10757 125 10757 2.4cap6000 6000 2177 6000 1985.1

変数/制約が少なくても解きにくい問題もあるSI2004: 2004/12/18 – p.34/36

Page 54: 汎用数理計画法ソフトウエア NUOPT の紹介と利用方法実演大域的最適化アルゴリズム 一般の非線形最適化問題を連続的に凸緩和し,大

GUIを用いた実演

基本的な使い方の紹介

Excelとの連携機能の紹介

SI2004: 2004/12/18 – p.35/36

Page 55: 汎用数理計画法ソフトウエア NUOPT の紹介と利用方法実演大域的最適化アルゴリズム 一般の非線形最適化問題を連続的に凸緩和し,大

まとめ

汎用数理計画法ソフトウエア NUOPTモデリング言語による問題記述

様々なクラスの問題を取り扱うことができるアルゴリズムの実装

独自アルゴリズムの開発

使いやすい GUIインタフェース

SI2004: 2004/12/18 – p.36/36