Search

検索ウィンドウが開き、文章内検索が可能になります

文書内検索
Adobe 製 PDF リーダ限定

Nuorium
スタートガイド
V26

株式会社NTTデータ数理システム
2023年12月

目
第1章

次Nuorium で最適化をはじめよう！

1

1.1

Nuorium とは . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1

1.2

数理最適化モデルを書く！ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2

1.3

数理最適化モデルを実行する！ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2

1.4

最適化結果を確認する！ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2

1.5

モデル・データ連係を組む！ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2

Nuorium スタートガイド

株式会社 NTT データ数理システム

第1章

Nuorium で最適化をはじめよう！

スタートガイドでは Nuorium のひととおりの操作方法を理解できます．より詳細な内容は本スター
トガイドではなく，『Nuorium リファレンスマニュアル』をご参照ください．

1.1

Nuorium とは

Nuorium は数理最適化問題を計算機上で解くために特別に設計された Nuorium Optimizer のためのGUI 環境です．内部エンジン Nuorium Optimizer は，次の二つからなる数理最適化パッケージです．
• 数理最適化のためのモデリング言語 SIMPLE• 多様な求解アルゴリズム
Nuorium を使用することで，誰もが Nuorium Optimizer の能力を十分に引き出し，数理最適化問題の定式化・求解・分析といった一連の流れをスムーズにこなすことができます．Nuorium の代表的な特徴を次に挙げます．
• Nuorium は使いやすさや見やすさのための統一性を意識したデザインが施されています．加えてプログラミングに適した視認性・判読性・可読性が高いフォントを採用しているため，ストレスなく SIMPLE を記述することができます．
• Nuorium なら，モデルの編集環境をいつでもお気に入りの環境へと，簡単にかつ柔軟にカスタマイズすることができます．この他，モダンなエディタに期待する様々な機能を搭載し，基本的な部分から積極的かつ強力に開発を支援します．
• モデルのビルドと実行は，異なる画面を行き来することなく，また特別な環境を必要とすることもなく，Nuorium で完結して行うことができます．もしモデル記述に誤りがあった場合にも，モデル記述のどこで発生しているのか，Nuorium はその手がかりを的確にわかりやすく教えてくれます．
• Nuorium を使うことでモデルの構造を明確に捉え，たとえ複雑なモデルであってもモデルの全容を一望することが可能になります．そして詳細に見たい結果のみを容易に表示でき，膨大な結果を前にしても問題解決に専念することができます．この他，Excel へのコピーも簡単に行うことができます．
以上のように Nuorium Optimizer のための場所にふさわしいよう，実に多くの工夫が Nuorium に施されており，すべての人が Nuorium Optimizer のポテンシャルを体験することができます．
そう！ Nuorium とは Nuorium Optimizer のための場所なのです！

Nuorium スタートガイド

株式会社 NTT データ数理システム

第1章

2

1.2

Nuorium で最適化をはじめよう！

数理最適化モデルを書く！

Nuorium を起動したら newModel.smp という新規 C++SIMPLE ファイルに数理最適化モデルを書いていきましょう．例えば次の C++SIMPLE を書いてみましょう．
// LP.smp
Variable x;
Variable y;
Objective costTotal(type = minimize);
costTotal = 180 * x + 160 * y;
6 * x + y >= 12;
4 * x + 6 * y >= 24;
0 <= x <= 5;
0 <= y <= 5;solve();
x.val.print(); // output to stdout

書き終わったら，ファイルメニューからファイルを保存してください．ここではファイル名を LP.smpだとします．ファイルの保存が終わると，タブ名が newModel.smp から LP.smp に変わります．

1.3

数理最適化モデルを実行する！

早速，LP.smp に書かれた内容を計算させてみましょう．開発ライセンスをお持ちの方は，「実行ボタン」または F5 キーを押すことで，C++SIMPLE ファイルをビルドして最適化計算を実行できます．
ビルドのみ行いたい場合は「メニューバー→最適化→ビルド」または F6 キーを押すことでできます．実行ファイルは C++SIMPLE ファイルと同じ階層に生成されます．
Nuorium は以上のように，特別なコマンドや Nuorium それ自体の環境設定をすることなく，モデルの記述からワンアクションで計算を実行できます．

1.4

最適化結果を確認する！

最適化計算が終了すると，画面右にある出力ペインの summary タブに結果の要約が表示されます．
ここから更に詳細に見たいものがあれば，対象をダブルクリックすることで詳細結果画面が表示され確認できます．これとは別に solfile タブにはテキスト形式で解情報を確認できます．
このように Nuorium では結果の粒度を目的に応じて様々に変えて確認できます．

1.5

モデル・データ連係を組む！

より本格的な数理最適化モデリングでは，モデル中にデータを直書きすることはなく，データはデータとして別ファイルに記述します．例えば定数 a に対して，a=1 と C++SIMPLE ファイル中に書かず，Nuorium スタートガイド

株式会社 NTT データ数理システム

1.5

モデル・データ連係を組む！

3

foo.dat に a=1; というように他のファイルに書きます．こうして一つのモデルからデータだけを複数のデータファイルに抽出します．
モデルとそれに紐づく複数のデータファイルを連係することを「モデル・データ連係」とよびます．
Nuorium 上でモデル・データ連係を行う方法は二通りあります．
一つは実行したいモデルと連係したいデータファイルを Nuorium 上に開いて，「実行ボタン」の横にあるコンボボックスを「デフォルト」に設定するという方法です．単にファイルを Nuorium 上で開くだけなので最も簡便な方法です．
もう一つはモデル・データ連係の連係方法を JSON ファイルに書き出して，それを読み込むという方法です．こちらの方法は先の方法に比べて少し面倒ですが，一度設定してしまえば，何度でも同じモデル・データ連係を気軽に実行できるようになるため，使い回しが利くようになります．より詳し
くは『Nuorium リファレンスマニュアル』をご参照ください．

Nuorium スタートガイド

株式会社 NTT データ数理システム