gurobi下载
步骤1:下载gurobi
步骤2:添加License.lic
- license文件打开步骤见下面的方式
- 也可以直接打开文档 http://www.gurobi.cn/NewsView1.Asp?id=4,可以使用学校校园网和校园邮箱获取license.lic或者使用下面的方式获取,注意手写申请表中的个人签名并进行扫描不能直接Pdf不然个人签名没办法记录。
步骤3:激活license
步骤4:配置gurobi的环境
然而,我出现了问题 The setup.py installation method has been removed, gurobipy should be installed using pip or conda. Please see https://support.gurobi.com/hc/en-us/articles/360044290292 for further information.,我的解决办法是在terminal终端下载gurobipyhttps://support.gurobi.com/hc/en-us/articles/360044290292-How-do-I-install-Gurobi-for-Python
Gurobi has updated its installation method, and you can no longer use setup.py
for installation. Instead, you should use pip
or conda
to install the gurobipy
package. Here are the steps you can follow to install Gurobi using these methods:
Using pip
-
Ensure you have Python and pip installed:
- You can check if Python is installed by running
python --version
orpython3 --version
in your terminal. - Check if pip is installed by running
pip --version
orpip3 --version
.
- You can check if Python is installed by running
-
Install Gurobi using pip:
Open your terminal or command prompt and run the following command:pip install gurobipy
Using conda
-
Ensure you have Anaconda or Miniconda installed:
-
Create a new conda environment (optional but recommended):
conda create -n myenv python=3.9 conda activate myenv
-
Install Gurobi using conda:
conda install -c gurobi gurobi
gurobi的线性规划案例
安装Gurobi
首先,请确保你已经按照上述步骤安装了Gurobi,并且你的Gurobi license已经激活。
代码示例
- 打开PyCharm并创建一个新的Python项目。先打开一个项目,使用python解释器,也可以使用anaconda,但是比较容易出错,所以我直接用的python
- 在项目中创建一个新的Python文件,例如
gurobi_example.py
。 - 在这个文件中,添加以下代码:
import gurobipy as gp
from gurobipy import GRB
try:
# 创建模型
model = gp.Model("simple_lp")
# 创建变量
x = model.addVar(name="x")
y = model.addVar(name="y")
# 设置目标函数
model.setObjective(2 * x + 3 * y, GRB.MAXIMIZE)
# 添加约束
model.addConstr(x + y <= 4, "c0")
model.addConstr(2 * x + y <= 5, "c1")
# 优化模型
model.optimize()
# 输出结果
if model.status == GRB.OPTIMAL:
print("Optimal solution found:")
print(f"x = {x.X}")
print(f"y = {y.X}")
print(f"Objective value = {model.ObjVal}")
else:
print("No optimal solution found.")
except gp.GurobiError as e:
print(f"Error code {e.errno}: {str(e)}")
except AttributeError:
print("Encountered an attribute error")
运行代码
- 确保你的Python解释器已经配置好,并且Gurobi已经安装在PyCharm中可以通过File > Settings > Project > Python Interpreter来检查)。
2. 右键点击
gurobi_example.py
文件,然后选择“Run ‘gurobi_example’”。
3.实验结果如下
解释代码
- 创建模型:
model = gp.Model("simple_lp")
创建一个新的Gurobi模型。 - 创建变量:
x
和y
是我们在模型中创建的变量。 - 设置目标函数:
model.setObjective(2 * x + 3 * y, GRB.MAXIMIZE)
设置了一个线性目标函数,目标是最大化2x + 3y
。 - 添加约束:我们添加了两个约束
x + y <= 4
和2 * x + y <= 5
。 - 优化模型:
model.optimize()
调用Gurobi的优化器来求解模型。 - 输出结果:如果找到最优解,我们将输出变量的值和目标函数的值。
GRB
是 Gurobi 库中的一个常量集,定义了一些通用的参数和常量,比如优化方向、变量类型、约束类型等在这个简单示例中,我们使用GRB
来指定优化的方向(最大化或最小化)和其它一些常量。在这个案例中,GRB
主要用于设置优化方向。
以下是一些 GRB
常量的示例及其解释:
-
优化方向:
GRB.MAXIMIZE
:表示目标函数要最大化。GRB.MINIMIZE
:表示目标函数要最小化。
-
变量类型:
GRB.CONTINUOUS
:连续变量。GRB.INTEGER
:整数变量。GRB.BINARY
:二进制变量(0或1)。
-
约束类型:
GRB.EQUAL
:等于约束。GRB.LESS_EQUAL
:小于等于约束。GRB.GREATER_EQUAL
:大于等于约束。