数理最適化モデリング言語 AMPL

数理最適化モデリング言語 AMPL の基本的な使用法

数理最適化モデリング言語AMPL

  • 無料版 (Community Edition) が https://ampl.com/ce/ でユーザー登録することによって使える.
  • SCIP、HiGHS、CBCを含む無料のソルバーやGurobi、CPLEX、C-OPTなどを商用のソルバーが同時にインストールされる.
  • 非線形最適化ソルバーも呼び出すことができる.

インストール方法

AMPLの無料版はAMPLポータルサイト https://portal.ampl.com/ でユーザー登録することによって使える.

  • ポータルにログインし,使用したいソルバーを指定してから、OSにあった圧縮ファイルをダウンロードして展開する.
  • ログインすると License UUID: の後にIDが表示されるので,それをクリックしてクリップボードに記憶しておく. 注意: uuidは公開しないように!
  • Macにインストールする際には,使用するコマンド(amplkey, amplなど)をFinderで右クリックで開いて,「開発元を検証できません。開いてもよろしいですか?」というメッセージが出たら「開く」を押す.
  • コマンドインターフェイス amplもしくはエディタ amplide を使う.
  • amplのシェル環境で、uuidを用いてライセンスをactivateする(コマンドはポータルに表示される)。その後でリスタートとすることによって、amplとポータルで指定したソルバーが使えるようになる。

Pythonパッケージ amplpy を動かすには、 AMPLをインストールしてamplの実行ファイルがある場所をEnvironmentで指定する。

from amplpy import AMPL, Environment, tools
ampl = AMPL(Environment("/Users/mikiokubo/Documents/ampl/"))

Google Colabの場合には,以下のセルを実行して amplpy とAMPLをインストールする (途中でUUIDを入れるように促されるので,コピーする).

#!pip install amplpy
# from amplpy import ampl_notebook
# ampl = ampl_notebook(
#     modules=["highs","gurobi","cbc","scip","coin","gecode"],  #coin includes ipopt, couenne, bonmin
#     license_uuid=None)

構成

  • AMPLによる最適化問題のモデリング: AMPLの基本的な使い方
  • AMPLPYパッケージの使用法: amplpyパッケージによるPythonとAMPLの融合
  • MPライブラリ:新しく導入された自動再定式化の解説
  • 最適化ケーススタディ:ケーススタディによる実問題の解決の練習