こんにちは,しまさん(@shimasan0x00)です.
NEOS Server , ご存知でしょうか.
Google先生で調べても日本語のページないんですよね… .
使う人が少ないからかもしれませんが,
是非こういうサービスを行ってくれているサーバーがあるんだよってことを皆さんには知っておいて欲しいと思い記事にします.
NEOS Server とは

NEOS Server とは簡単に言うと数理計画問題を解いてくれるサーバーのことです.
数理計画問題とは,「与えられた条件の下で,望ましさの尺度を表す何らかの関数の最小値(最大値)を求め,さらにその最小値(最大値)を与える不特定要素の値を決定する」という問題です.(NTTデータ数理システム)
数理計画問題の例としては,
目的(関数): 5x – 12 の最小化
制約条件: x > -1
みたいなものが挙げられます.結構身近な問題も数理計画問題に位置づけられてたりします.
他にも「ナップサック問題」や「最小費用フロー問題」,「ダイクストラ法による最短経路(問題の形式を変更すれば)」なんかもですね.
これらの問題をtxtに記述して,NEOS Serverに投げれば解いてくれるのです.
商用利用も無料なんですよ.さすがアメリカって感じですね.
スポンサーリンク
NEOS Serverの使い方
まず,NEOS Serverにアクセスしてみましょう.

こんな感じのページが出てくると思います.
このページのNEOS Serverの中にある「Submit a job to NEOS」を選択しましょう.

すると,NEOS ServerのSolverページに移動します.

ここで自分の目的にあう問題のタイプを選択します.
私が使う場合はよく「Linear Programming」を使います.

ここで,というか最初から疑問だったとは思うんですが
どうやってNEOS Serverに問題を記述するんだと思っていられると思います.
先程のLinear Programmingの画面に書いているのですが,
AMPL , GAMS , MPS , … はい,プログラミング言語です.
ただ,覚えることは少ないので始めやすいと思います.
スポンサーリンク
さいごに
今回は簡単にNEOS Serverとは何かという説明をしました.
次回は,GAMSを用いて
「ナップサック問題」や「最小費用フロー問題」,「ダイクストラ法による最短経路(問題の形式を変更すれば)」を解いていこうと思います.
最短経路を求める問題をNEOS Serverに解かせるのは特に面白いですよ.
めちゃくちゃ楽ですからね.
以上,しまさん でした.