SCMOPT2 Project

SCMOPT2 は,サプライ・チェイン最適化のためのソフトウェア群です.

Project Outline

  • コア core (基本モジュール) + グラフクラスモジュール scmgraph/SCMGraph
  • データ生成モジュール data_generation
  • ABC分析とランク分析モジュール abc とSCM基本分析システム
  • 配送計画モジュール vrp と配送最適化システム METRO (MEta Truck Routing Optimizer)
  • 在庫最適化モジュール inv と安全在庫配置システム MESSA (MEta Safety Stock Allocation system)
  • ロジスティックネットワーク設計モジュール lnd とロジスティックネットワーク設計システム MELOS (MEta Logistic Optimization System)
  • 需要予測モジュール forecast と需要予測システム ABD-Forecast (Auto-Bayes-Deep Forecast)
  • スケジューリング最適化モジュール optseq とスケジューリング最適化システム OptSeq
  • サプライ・チェイン・リスク分析モジュール scrm とサプライ・チェイン・リスク分析システム MERIODAS (MEta RIsk Oriented Disruption Analysis System)
  • シフト最適化モジュール shift とシフト最適化システム OptShift
  • ロットサイズ最適化モジュール lotsize とロットサイズ最適化システム OptLot
  • サービスネットワーク設計モジュール snd とサービスネットワーク設計最適化システム SENDO (SErvice Network Design Optimizer)
  • 収益管理モジュール rm
  • 制約最適化モジュール scop
  • 数理最適化モジュール mypulp

SCMOPT全体像

サプライ・チェイン意思決定のフロー

実装方法

Install for Developers

Apple Sillicone (tested on M2 Max)

  1. brew

https://brew.sh/ja/ に行って以下をコピペ

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)

ターミナルに貼ると最後に以下が表示される(Usersの次は異なる)ので、それをコピペして実行してパスを通す

(echo; echo 'eval "$(/opt/homebrew/bin/brew shellenv)"')
 >> /Users/mikiokubo/.zprofile
 eval "$(/opt/homebrew/bin/brew shellenv)
  1. git brew install git

  2. miniconda 以下のパッケージでインストール

    Miniconda — miniconda documentation

  3. 仮想環境

    ディレクトリを作成し、そこにcdで移動し、ディレクトリの中にconda環境(env)を保存

    conda create —prefix ./env python=3.x

    仮想環境に入る

    conda activate ./env

    githubからscmopt2などをクローンしても,異なる環境だと ./env では動かない場合もある:myenv.yml に定期的に保管してあるので conda env create -f myenv.yml で環境を構築(最初の一文 name: の後ろのパス名は,好きな環境名(たとえばscmopt2)に変更する必要がある.

    myenv.ymlの作成法: conda env export > myenv.yml

  4. Jupyter Labインストール

conda install -c conda-forge jupyterlab
conda install -c conda-forge nb_conda_kernels
jupyter labで起動
  1. PyTorch using GPU conda install pytorch::pytorch torchvision torchaudio -c pytorch

  2. poetry (option) curl -sSL https://install.python-poetry.org | python3 -

パスを通す(以下を実行してからターミナルを再び開く) echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.zshrc

  1. nbdev

    https://nbdev.fast.ai/tutorials/tutorial.html ただしquartoは、nbdev_install_quarto ではなく、以下からインストールしてターミナルを再び開く必要がある https://quarto.org/docs/get-started/hello/jupyter.html 使ったパッケージは setting.ini のrequirements に追加する。 nbdev_convertで旧バージョンから自動変換

    • nbdev_export: ライブラリを生成
    • nbdev_preview: ページをプレビュー
  2. streamlit ymlファイルだとインストールしてくれない.以下でpip用を準備するか,手書きで準備する(こちらの方が確実). pip list –format=freeze > requirements.txt

  3. neuralprophetとpycaret: 最新版はcondaでは駄目なので,pipでインストール;ただしlightgbmは事前にbrew install しておく必要がある!