arrow-up icon

Amplify SEのはじめ方

0. はじめに

このページでは、Fixstars Amplify Scheduling Engine(Amplify SE)を使ってスケジューリング問題を解くまでの準備について解説します。主なステップは以下の通りです。

  1. 1
    ユーザー登録と無料トークンの入手
    無料トークンはユーザー登録と同時に発行されます。
  2. 2
    Amplify SEを使うためのPython環境の準備
    Amplify SEを利用するためのPython環境を準備します。
  3. 3
    Amplify SEを使ってプログラムを作って実行
    1. 今すぐ動かしたい方
    2. Google Colaboratoryで試してみたい方 (Google Colaboratoryを使用します)
    3. 本格的な開発をしたい方 (Python環境 + Visual Studio Codeを使用します)

1. ユーザー登録をして無料トークンの入手

ホームページの右上にある「無料ユーザー登録」よりご登録いただきます (1分かからずに登録できます)。

無料トークンはユーザー登録と同時に発行され、ご自身のアカウントでログイン後に「アクセストークン」のページで確認できます。

2. Amplify SEを使うためのPython環境の準備

Amplify SEを利用するためのPython環境を準備します。Amplify SEを使うためのPython環境を準備するための方法はいくつかありますが、ここでは「今すぐ動かしたい方」向け、「Google Colaboratoryで試してみたい方」向け、「本格的な開発をしたい方」向けそれぞれの方法を紹介します。

今すぐ動かしたい方
当社がホストするデモ環境でサンプルプログラムを実行しましょう

Google Colaboratoryで試してみたい方はこちら
Google Colaboratoryを活用しましょう

本格的な開発をしたい方はこちら
Python環境 + Visual Studio Codeを活用する環境を作りましょう

3-1. 今すぐ動かしたい方

リソースのチュートリアルまたはサンプルコードの各ページにあるBinderHubで開くボタンを押すと、当社がホストするデモ環境でサンプルプログラムが立ち上がります。

このサンプルプログラムは、誰でもトークンなしで実行できます。1回のアクセスあたりの接続時間は20分という制限がありますが、接続されている間であれば、プログラムを実行したり、中身を変更して実行することもできます。

3-2. Google Colaboratoryで試してみたい方

  1. Google Colaboratory上のサンプルコードdecorationを開く

    Google Colabolatoryとは、Google社が提供するWebブラウザ上でPythonのJupyter Notebookを実行できる環境です。Googleアカウントを持っていれば誰でも利用できます。

    ご自身のローカルではなくクラウド上にある環境のため、プログラムファイルを実行するたびに毎回Amplify SEをインストールしていただく必要はありますが、簡単に始めることができます。

    Google Colaboratorydecoration

  2. サンプルコードを自分のGoogleドライブにコピーを保存
  3. 以下のセルに 手順1 で入手した自分のトークン番号を入力
  4. 上から順に再生ボタンを押して全てのセルを実行
  5. 結果を確認

* 各セルやプログラムの中身を知りたい方はこちらをご確認ください。

3-3. 本格的な開発をしたい方

  1. Google Colaboratory上のサンプルコードdecorationを開く

    本格的に最適化プログラムの開発を行いたい方は、ご自身のローカルの環境にPythonの開発環境を作ることがお勧めします。Amplify SEのライブラリを毎回インストールする必要がなくなりますし、インターネット経由ではないのでお手元の処理が高速に行えます。

    また、Pythonのインストールに加えて、実際のプログラム開発行うテキストエディタとしてVisual Studio Codeをインストールすることもお勧めします。VS CodeのJupyter拡張を入れてください。

    Python及びVisual Studio Codeのインストールについてはマイクロソフト社のドキュメントdecorationを参照ください。

  2. サンプルコードをダウンロードしてローカルに保存
    Google Colaboratoryにあるサンプルコード(ipynb形式)をダウンロードして、ローカルのフォルダーに保存します。
    Image
    Google Colaboratoryからダウンロード
  3. ダウンロードしたファイルをVisual Studio Codeで開く
    Image
    Visual Studio Codeでダウンロードしたファイルを開く
  4. 以下のセルに 手順1 で入手した自分のトークン番号を入力
  5. 上から順に再生ボタンを押して全てのセルを実行
  6. 結果を確認
  7. チュートリアルに進む
    チュートリアルでは、Amplify SEの仕組みから、複雑度の違う生産計画の立案方法を順を追って説明します。

各セルやプログラムの中身について

  1. まず、Amplify SEのライブラリをインストールします。Google Colaboratoryでは、プログラムファイルが異なるたびにインストールしていただく必要があります。
  2. 再生ボタンの左側に緑にチェックマークが出ればインストールは成功です。
  3. インストールしたAmplify SEのライブラリから必要な関数やクラウなどをインポートします。
    また、手順1で入手したトークン番号を***の箇所に上書きします。
  4. まずmodelを定義します。(# モデルを定義)
    このmodelにジョブのやマシンの情報を入れていきます。 作ったmodelにジョブ (今回は製品) を3つ追加します。(# モデルにジョブを追加)
    modelに今回の製造を行うマシンを4台追加します。(# モデルにマシンを追加)
    作ったジョブ(各製品)に、必要な工程をタスクとして追加し、そのタスクを担うマシンとそのマシンで処理する場合にかかる時間を追加します。(# ジョブにタスクを追加)
    問題を解く準備は以上です。
  5. この後は、作った問題(model)をクラウドにあるマシンに投げて解を求めます。以下のセルのmodel.solveの行を実行すると、問題がクラウドにあるマシンへ飛んでいき、計算が終わったら解が返ってきたらganttに格納されます。トークンは、上のセルに入力したものを参照しています。計算時間は1秒にしています。
  6. 得られた解を可視化します。以下のセルを実行すると得られた解をガントチャートして出力します。最適化された生産計画を得ることができました!