補助資料

⑤:解法3(汎用Program)

  

プログラミング環境

 Pythonのプログラミング環境を用意しました(左の画像をクリック)
  「Google Colab」といった環境を使います
   
①「Google Colab」の起動(ログイン)
  赤丸の「ログイン」をクリック
    Googleアカウントをお持ちの方はご自分のアカウントでログイン
    Googleアカウントをお持ちでない方は係の者にお尋ねください
 



  
 
Google Colabでプログラミングできる環境を準備する
  赤丸の「ノートブックの新規作成」をクリック

    


   
 
③プログラム作成
  青い丸印にPythonプログラムを記述する

  赤い丸印の名前を変えることができます(拡張子は変えないでください)
  
  
    
 
   (注)青い丸印の部分に入力すると、自動的にプログラムソースが保存されます、
           青い丸印の「Untitled0.ipynb」を自分用に名前を変えてください

見本

Google Colab」のプログラムと実行結果です
   満足度とお菓子の種類を確認してください

  
Pythonプログラムの例



   

 
Pythonプログラムの解説
  ・!pip install pulp
     「!」はシェルコマンドを呼び出す命令(Pythonの外部のプログラムを使ってpulpをインストールする)

  ・import pulp
     pulpライブラリを当Pythonプログラムに組み込む

  ・problem = pulp.LpProblem(name="Knapsack", sense=pulp.LpMaximize)
     問題の定義を行う
     名前を付けて、最大値を求めると指定する

  ・A = pulp.LpVariable(name = "cho", lowBound = 0, upBound = 1, cat="Integer")
     変数の定義を行う(8個全部、A~H))
     変数に名前付与、下限を0、上限を1、整数値と定義する

  ・problem += 9*A + 10*B + 6*C + 4*D + 3*E + 4*F + 8*G + 5*H
     目的関数を定義
     満足度の計算式を設定する(これの最大値を求めることになる)

  ・problem += 100*A + 120*B + 90*C + 60*D + 40*E + 90*F + 100*G + 50*H <= 300
     制約条件の定義
     価格が300円以下の条件で最適解を求める

  ・status = problem.solve()
     「solve(解決)」の命令を出す

  ・print(pulp.LpStatus[status])
     実行結果のステータスを表示する(Optimal 最適 と表示されれば正常終了)

  ・その他(後処理)
     満足度が最大の時の各変数の値を表示する
     各変数を使って満足度を計算、表示する
     各変数を使って金額を計算、表示する

 
Pythonプログラムの実行結果
  チョコレート、飴、ドーナツ、キャラメルで満足度25、金額290円が解答です


  

 
Pythonプログラムのソースです、コピーしてお使いください
   
  ②:解き方(その5) Pythonソース.txt

     (注)GitHubを使ってプログラムソースを保管しました、必要な方はこちらから入手出来ます
https://github.com/kawachinagano/tsunagari_festa/blob/6d8268876fe76fe9963bc73201275fb2de39ba84/%E8%A7%A3%E3%81%8D%E6%96%B9%EF%BC%88%E3%81%9D%E3%81%AE%EF%BC%95%EF%BC%89

 

製作:河内・水簾洞