バックナンバー ( 2022 Vol.2 ) 2022 年 3 月 10 日 発行
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
数理システム 最適化メールマガジン https://www.msi.co.jp/nuopt/
2022 Vol.2 ( 2022 年 3 月 10 日 発行 )
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
数理システム 最適化メールマガジンでは,数理計画法パッケージ
Numerical Optimizer(V24 より Nuorium Optimizer)をはじめとして,
最適化に関する様々な情報やご案内を提供していきます.
++++ [目次] ++++++++++++++++++++++++++++++++++++++++++++++++++++++
■ <トピック> Nuorium Optimizer V24 3 月リリース予定
■ <トピック> 出展・発表案内
■ <セミナー> オンラインセミナーのご案内
■ < tips > 使ってみよう PySIMPLE(第 17 回)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
******************************************************************
■ <トピック> Nuorium Optimizer V24 3 月リリース予定
******************************************************************
Nuorium Optimizer V24 を 3 月中にリリースする予定です.
V24 では以下の機能が強化されています.
- スパース LP / QP 単体法
- 局所探索法 WLS の QCQP 対応
- RSIMPLE(旧 RNUOPT )の統合
- モデリング言語 PySIMPLE を強化
- IIS オブジェクトの取得
- PySIMPLE オブジェクトのシリアライズ
- Nuorium
- ターミナル機能
- 一括変換機能
V23 にて導入されたスパース LP 単体法(hsimplex)を V24 では改良し,
主単体法及び双対単体法の切り替えが可能となります.
また,このスパース LP 単体法を二次計画問題を扱えるよう拡張した
QP 単体法が利用できます.LP 単体法と同様に,ハイパースパース性を
もつ問題(スパースな基底解が多い問題)に対して高速に動作します.
二次計画問題を解く際には,解法の一つとしてぜひご検討ください.
局所探索法 WLS は二次の制約を持つ最適化問題(QCQP)に対応します.
二次のコストを持つ関数を最適化し,さらに次の段階で目的関数に制約を
加えたい場合などに活躍します.
上記にあげました解法 hsimplex および wls は PySIMPLE からのみ利用
することができますのでご注意ください.
数理最適化専用開発環境である Nuorium はターミナル機能を搭載しました.
Windows に付属しているコマンドプロンプトを呼び出すことはもちろん,
カスタマイズして PowerShell(パワーシェル)や bash を呼び出すことも
可能です.
また設定によって PySIMPLE をインタラクティブに使用することも可能に
なりました.本機能により Nuorium 上での開発はより効率的になります.
派生製品として販売させていただいていた R インターフェイスの
数理最適化ソフトウェア RNUOPT が新たに RSIMPLE として
Nuorium Optimizer に統合されます.
ライセンスも統合され,シームレスな利用が可能となります.
PySIMPLE の新機能の内,「IIS オブジェクトの取得」については
「使ってみよう PySIMPLE」で紹介しています.
他の機能も今後のメールマガジンでご紹介する予定ですので,お楽しみに
お待ちください!
(藤井 浩一)
******************************************************************
■ <トピック> 出展・発表案内
******************************************************************
以下の学会に Nuorium Optimizer もオンライン出展いたします.
日本オペレーションズ・リサーチ学会 2022 年春季研究発表会
開催日:3 月 17 日(木) ~ 3 月 18 日(金)
https://orsj.org/nc2022s/
春季研究発表会では,以下の発表も行います.
「ラグランジュ緩和法における実行可能性の担保」
*原田耕平(NTT データ数理システム)
ラグランジュ緩和法は,分解可能で大規模な数理最適化問題を解く有用な
手法として知られています.その一方で,この手法には解の実行可能性を
明示的に担保する仕組みがないという欠点があります.
今回の発表では,その欠点を克服するための既知の研究と,発表者による
その拡張を紹介します.
参考文献:
[1] Vujanic, Robin and Esfahani, Peyman Mohajerin and Goulart,
Paul J and Mari´ethoz, S´ebastien and Morari, Manfred:
A decomposition method for large scale MILPs, with performance
guarantees and a power system application, Automatica (2016).
[2] Kouhei, Harada: A Feasibility-Ensured Lagrangian
Heuristic for General Decomposable Problems, Operations
Research Forum (2021).
春季研究発表会のイベント
公開座談会 ~OR研究の現在と未来~
開催日時 3 月 18 日(金) 13:20 ~ 14:20
にてパネリストとして登壇します.研究は私の主たる業務ではないの
ですが,アカデミックに一定の接点がある,企業側の視点が提供
できればと考えています.
(原田 耕平)
******************************************************************
■ <セミナー> オンラインセミナーのご案内
******************************************************************
定期的に無料のオンラインセミナーを開催しています.
4 月からは製品名称を Nuorium Optimizer とし,新しい気持ちで
セミナーを開催いたします.紹介セミナーの内容にもアレンジが加わる
予定です.一度受講された方もお時間がありましたら是非ご参加ください.
・ 5 月までに開催予定の無料オンラインセミナー一覧
※ 3 月末まで,リンク先における製品名称は Numerical Optimizer です.
[ Nuorium Optimizer 紹介セミナー ]
2022 年 04 月 15 日 (金) 13:30~15:30
2022 年 05 月 11 日 (水) 13:30~15:30
詳細とお申込み:https://www.msi.co.jp/nuopt/seminar/introduction.html
[ Nuorium Optimizer ハンズオンセミナー ]
2022 年 04 月 19 日 (火) 13:30~16:00
2022 年 05 月 20 日 (金) 13:30~16:00
詳細とお申込み:https://www.msi.co.jp/nuopt/seminar/hands-on.html
[ 製造現場の業務改善に向けた数理最適化ソリューション紹介セミナー ]
2022 年 04 月 27 日 (水) 13:30~15:30
詳細とお申込み:https://www.msi.co.jp/nuopt/seminar/manufacture.html
[ エネルギーマネジメント最適化セミナー]
2022 年 05 月 24 日 (火) 13:30~15:30
詳細とお申込み:https://www.msi.co.jp/nuopt/seminar/enemanage.html
(石橋 保身)
******************************************************************
■ < tips > 使ってみよう PySIMPLE(第 17 回)
******************************************************************
このコーナーでは,Numorium Optimizer の Python インターフェース
PySIMPLE のエッセンスを紹介していきます.
3 月にリリースされる V24 では幾つもの機能拡張や機能追加がされました.
今回はこのうち,そのひとつである実行不可能性要因検出機能(iisDetect)
について紹介します.
数理最適化問題を扱う場合,すべての制約式を満たすことができない,すなわち
実行不可能である場合があります.制約式同士は複雑に絡み合っているため,
その原因を特定することは非常に困難です.
Nuorium Optimizer では線形計画問題に対して,実行不可能時にその要因を
検出する機能 iisDetect を備えています.iisDetect 機能は実行不可能性の
原因となっている組(Irreducible Infeasible Set: IIS) を特定して出力
します.
V23 までの Numerical Optimizer でも解ファイルを出力すれば IIS を確認
することができましたが,V24 では,この IIS を PySIMPLE オブジェクト
として扱うことができるようになりました.簡単な例を見てみましょう.
------------------------------------------------------------------
x = Variable(lb=0)
y = Variable(lb=0, ub=1)
z = Variable(lb=0)
problem = Problem()
problem += x + y + z
problem += y + z >= 0, 'cons1'
problem += x + y >= 5, 'cons2' # IIS
problem += x + z <= 3, 'cons3' # IIS
problem.solve()
assert problem.status == NuoptStatus.INFEASIBLE
------------------------------------------------------------------
よく見るとモデルで IIS のマークが付いた制約式群のどの一つを除去しても
実行不可能性は解消しますが,すべてを満たす x, y, z は存在しません.
また,マークされていない最初の制約式は実行不可能性とは無関係で,除去
する,しないにかかわらず,問題は実行不可能であることもわかります.
iisDetect 機能はデフォルトで有効であり,problem.result.iis で取得する
ことができます.上記のモデルで求解後に IIS を print すると次のように
表示されます.
------------------------------------------------------------------
0: cons2: violation=1
x+y>=5
1: cons3
-x-z>=-3
------------------------------------------------------------------
cons1, cons2, cons3 の制約のうち,cons2 と cons3 が互いに矛盾する
制約式の最小の組(のひとつ)であることが分かりました.また,実行不可能
ではあるものの,変数には何らかの値が設定されており,実際に制約違反を
起こしている制約は cons2 で,違反量は 1 であることも分かります.
更に problem.result.iis[0] として個別の詳細情報にアクセスし,細かい
制御をすることもできます.例えば,違反している制約式によって挙動を
変えることもできます.以下の例では違反している制約式 cons2 を除去し
再求解をしています.
------------------------------------------------------------------
del problem['cons2']
problem.solve()
assert problem.status == NuoptStatus.OPTIMAL
assert problem.result.iis is None # 実行可能の場合は IIS は None
------------------------------------------------------------------
また,V24 では LP/QP に対して制約式種を指定することができるように
なっているため,違反の可能性がある制約式をソフト制約にする,などの
使い方もできるようになっています.
いかがでしたでしょうか.V24 では他にも新機能が加わったり,動作環境の
追加も行われていますので確認してみてください.
V24 の PySIMPLE の更新履歴はこちら:
https://www.msi.co.jp/nuopt/docs/v24/pysimple/changelog.html
実行不可能性要因検出機能の詳細はこちら:
https://www.msi.co.jp/nuopt/docs/v24/pysimple/guide/iis.html
https://www.msi.co.jp/nuopt/docs/v24/pysimple/api/class.html#pysimple.problem.IIS
(池田 悠)
==================================================================
※ msi-ms@ml.msi.co.jp は送信専用アドレスです。
本メールにそのままご返信いただいてもご回答いたしかねます。
※ このメールは、弊社ツールのユーザー様、過去に展示会などで
お名刺等を頂いたことのある方や 当社に直接お問合せを頂いたことの
ある方にお送りしています。
※ バックナンバーはこちらから御覧頂けます。
https://www.msi.co.jp/nuopt/mailmagazine/index.html
※ 本メールマガジンは等幅フォントでお読みになることを推奨します。
※ 今後、ご案内メールが不要な方は、誠にお手数ですが、下記 URL より
「案内停止手続き」をしてくださいますようお願いいたします。
■ 案内停止はこちらから ■
[都合により本ページでは URL を掲載しておりません]
ご登録される情報は、暗号化された通信(SSL)で保護され、プライバシーマークや
ISO27001/JIS Q 27001, ISO20000-1, ISO9001の 認証を取得している
株式会社パイプドビッツによる情報管理システム「スパイラル」で安全に管理されます。
上記にアクセスができない場合には「メール不要」と明記の上、
nuopt-info@ml.msi.co.jp までご連絡いただけますと幸いです。
発行:株式会社 NTT データ数理システム
<< 数理システム Numerical Optimizer >> 担当
東京都新宿区信濃町 35 番地 信濃町煉瓦館 1 階
tel : 03-3358-6681
e-mail : nuopt-info@ml.msi.co.jp
==================================================================