ortoolpy
is a package for Operations Research.
It is user's responsibility for the use of ortoolpy
.
from ortoolpy import knapsack
size = [21, 11, 15, 9, 34, 25, 41, 52]
weight = [22, 12, 16, 10, 35, 26, 42, 53]
capacity = 100
knapsack(size, weight, capacity)
>>>
(105.0, [0, 1, 3, 4, 5])
import ortoolpy.optimization
%typical_optimization
典型問題クラス | 典型問題 | 関数 | 典型問題クラス | 典型問題 | 関数 |
グラフ・ネットワーク問題 | 最小全域木問題 | MinimumSpanningTree | スケジューリング問題 | ジョブショップ問題 | TwoMachineFlowshop |
最大安定集合問題 (最小頂点被覆問題) |
MaximumStableSet (MinNodeCover) |
勤務スケジューリング問題 | ShiftScheduling | ||
最大カット問題 | MaximumCut | 切出し・詰込み問題 | ナップサック問題 | Knapsack | |
最短路問題 | DijkstraPath | ビンパッキング問題 | BinPacking | ||
最大流問題 | MaximumFlow | n次元詰込み問題 | TwoDimPacking | ||
最小費用流問題 | MinCostFlow | 配置問題 | 施設配置問題 | FacilityLocation | |
経路問題 | 運搬経路問題 | Vrp | 容量制約なし施設配置問題 | FacilityLocationWithoutCapacity | |
巡回セールスマン問題 | Tsp | 割当・マッチング問題 | 2次割当問題 | QuadAssign | |
中国人郵便配達問題 | ChinesePostman | 一般化割当問題 | Gap | ||
集合被覆・分割問題 | 集合被覆問題 | SetCovering | 最大マッチング問題 | MaxMatching | |
集合分割問題 | SetPartition | 重みマッチング問題 | MaxWeightMatching | ||
組合せオークション問題 | CombinatorialAuction | 安定マッチング問題 | StableMatching |
- Python 3, pandas, pulp, more-itertools
- This is a sample. So it may not be efficient.
ortools_vrp
using Google OR-Tools ( https://developers.google.com/optimization/ ).
$ pip install ortoolpy
- 0.0.1 (2015-6-26): first release