Murakami

関西大学システム理工学部機械工学科所属.Gurobiを使って,複数の最適解を生成する手…

Murakami

関西大学システム理工学部機械工学科所属.Gurobiを使って,複数の最適解を生成する手法の開発などを行っている. https://mura-01.my.canva.site/

最近の記事

  • 固定された記事

関西大学 村上👨のプロフィール

✅名前 村上 佳広 ✅所属 関西大学システム理工学部機械工学科🦼 機械力学・制御工学研究室 ✅居室 千里山キャンパス 第4学舎第5実験棟2階 機械力学・制御工学研究室(1) ✅E-mail murakami [アットマーク]kansai-u.ac.jp ✅経歴 1985年 大阪明星学園 明星高等学校卒業 1990年 京都大学工学部化学工学科卒業 1992年 京都大学大学院工学研究科化学工学専攻修士課程修了 1994年 京都大学大学院工学研究科化学工学専攻博士

    • 大学ではGurobiを自宅ではフリーソフトを使いたい.

      大学の研究室ではGurobiを使用できるが,自宅に帰っても作業を継続したいということがある. TeamViewerを使うのも一つの手だが,自宅では,フリーソフト(PySCIPOpt)を使うのがおすすめである. そのためには,GurobiのプログラムをPySCIPOptに書き換える必要がある. ここでは,主にchatGPT(Ver.3.5)で変換した例について示す. 例として,久保先生の「あたらしい数理最適化」のp.8のサンプルプログラムを対象にする. chatGPT

      • 複数の最適解をGurobiで求めたい

        整数変数の値が異なる解を列挙するには, PoolSearchModeを2に設定する. 列挙する解の個数を制限する. PoolGapを0にする. として問題を解けばよい. from gurobipy import *model = Model("count the number of optimal solutions")model.setParam("PoolSearchMode", 2)model.setParam("PoolSolutions", 200)mod

        • Gurobiでout of memoryになった

          Gurobiを使っていると,out of memoryになることがある.Pythonでメモリの消費量を計算することができるとのこと. Pythonのpsutilというライブラリを使う.pip install psutilでインストールできる.手元のAnaconda3には,psutilが既に入っていた. import osimport psutilprocess = psutil.Process(os.getpid())print(process.memory_info()

        • 固定された記事

        関西大学 村上👨のプロフィール

          最大完了時間を最小化するジョブショップスケジューリング問題のベンチマーク

          最大完了時間を最小化するジョブショップスケジューリング問題についてです. ベンチマーク問題がないか探したところ,次のサイトにあるにはあったが,15×15問題や20×20問題と比較的大きな問題を対象としている. 10×10問題などを探すと,GitHubに次のサイトを見つけた. instancesのフォルダー中身のabz5を見ると, となっている. のベンチマークと考えられる.5行目の"10 10"は,10×10問題の意味.6行目 は,Job1に関して,(機械,処理時

          最大完了時間を最小化するジョブショップスケジューリング問題のベンチマーク

          Gurobiを用いたTSP問題の解法

          久保ら「あたらしい数理最適化 Python言語とGurobiで解く」(近代科学社)に掲載されているプログラムは,次のサイトに掲載されている. あたらしい数理最適化 -GurobiとPython言語で解く- サポートページ の「ソースコードzipファイル」にある. しかし,ソースコードは,python 2.Xを想定している.しかし,現在のGurobiはpython 3系列に移行したので,print文などの変更が必要になる. 特にzipファイルのtsp.py(あたらしい数

          Gurobiを用いたTSP問題の解法

          Pythonのライブラリを使って数独・ナンプレを解く

          Pythonのライブラリpy-sudokuをインストールします.Pythonの条件は,バージョン2.7以上. pip install py-sudoku 数独・ナンプレの初期配置を2次元配列のboardという変数に格納します.手で入力してもいいですが,エクセルを使うと便利です.エクセルで空欄は開けておいて,空欄に0を入力して,最後はcsv形式で保存し,メモ帳などで開けると簡単に初期配置を作ることができます. 以下のプログラムを実行すると,解が得られます. # pip i

          Pythonのライブラリを使って数独・ナンプレを解く

          MURAKAMI Yoshihiro's Website (Profile)

          Name MURAKAMI Yoshihiro Academic Status Lecturer (from 2000 Apr.) Affiliation Kansai University, Faculty of Engineering Science Department of Mechanical Engineering Dynamics and Control Engineering Laboratory Academic Degrees Master

          MURAKAMI Yoshihiro's Website (Profile)

          複数の答えのある数独・ナンプレ

           数独・ナンプレの問題をpythonを使って解く.ソースは一般公開しません.最初は,Gurobi Optimizerを使って解くようにしていたが,商用ソルバーを使わずに解けるよう,mypulpを使う.複数の答えがある場合にも,制約式を追加してすべて列挙するようにしている.例題として,初期配置が次の問題を対象とする.  本来の初期配置をいくつか削っているので,以下のように答えが複数でてくる. 1+-------+-------+-------+| 5 3 2 | 6 7 8

          複数の答えのある数独・ナンプレ

          Gurobiに関する備忘録

          初期値を与えてGurobiで解きたい。  整数計画法メモの許容解を与えた状態で分枝限定法をスタートしたいにあるように、初期値となる解を与えてGurobiを解きたいときがある。その場合は、次に示すようなMSTファイル(IV.txt)を用意して、model.read("IV.txt")で読み込めばよい。 # initial value for transportationx[1,1] 80.0x[2,2] 270.0x[3,2] 230.0x[3,3] 20.0x[4,3

          Gurobiに関する備忘録