前提・実現したいこと
pulpを利用し線形計画法で色々決めたい
下記に記載の記事を参考に処理を進めており、目的関数を決定する際に以下のエラーが発生し、カーネルが死んでしまいます。
学食で何を食べるか線形計画法で決めたい!!!
完全栄養マクドナルド食の線型計画による実装~もしマクドナルドだけで生活すると栄養バランスはどうなるのか?~
解決法についてご教授いただきたく存じます。
該当のソースコード
python
1import csv 2import pulp 3 4csv_file = open("./Product-Lists.csv", "r", encoding="shift_JIS", errors="", newline="" ) 5 6PFClists = [] 7f = csv.reader(csv_file, delimiter=",", doublequote=True, lineterminator="\r\n", quotechar='"', skipinitialspace=True) 8header = next(f) 9 10for row in f: 11 PFClists.append(row) 12 13# 各商品の商品名、金額、熱量~食塩相当量をリスト別にまとめる 14 15# 検証のため[:2]まで 16PFClists = PFClists[:2] 17 18# 検証のため商品名と価格のみ 19 20name_lists = [PFClist[0] for PFClist in PFClists] 21price_lists = [PFClist[1] for PFClist in PFClists] 22 23 24# 問題の定義 25# 最小化か、最大化か、どちらかを指定 26problem = pulp.LpProblem(name="セブンイレブン", sense=pulp.LpMinimize) 27#problem = pulp.LpProblem(name="セブンイレブン", sense=pulp.LpMaximize) 28 29# 変数の定義 30# 変数の定義を、リスト内包表記で書く、かつ、変数名を動的に、リスト内のデータて定義 31xs = [pulp.LpVariable('{}'.format(x), cat='Integer', lowBound = 0) for x in name_lists] 32 33# 目的関数や制約条件を、行列の掛け算型で書く 34# 目的関数(最小or最大にすべき関数) 35 36# ここを実行するとエラーになり、カーネルが死ぬ。 37problem += pulp.lpDot(price_lists, xs) 38
発生している問題・エラーメッセージ
# Jupyter lab Kernel Restarting The kernel for Documents/Programming/python/Seven-Eleven/Linear_Programming.ipynb appears to have died. It will restart automatically.
試したこと
- 環境の再構築
- iPythonで実行(実行したら落ちた)
補足情報(FW/ツールのバージョンなど)
- python3.8.8
- Windows10
- Jupyter lab
CSVファイルの内容(PFClists[:2]のみ)
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。