バックナンバー ( 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 ==================================================================

              