【保姆教程】GLPK数学优化求解器安装使用说明

一、适用环境

1、操作系统:Windows

2、依赖软件:GLPK

二、操作步骤

简介:GLPK安装方法有两种,即在本地安装GLPK包直接在Anaconda环境中安装,两种方法任取一种即可,若同时安装,会优先调用Anaconda环境安装的GLPK。

1、方法一:

(1)首先,下载GLPK:

①进入官网下载

https://sourceforge.net/projects/winglpk/ 

②或直接采用下载直链:

https://sf-west-interserver-1.dl.sourceforge.net/project/winglpk/winglpk/GLPK-4.65/winglpk-4.65.zip

(2)下载好后解压GLPK压缩包到指定路径,将解压路径添加到环境变量path(glpk解压根路径下的w64路径

D:\glpk-4.65\w64

(3)打开cmd命令行窗口,执行命令测试

glpsol

至此,本地安装GLPK完毕。

2、方法二(Anaconda环境执行命令安装):

(1)执行以下命令

conda install -c  conda-forge   glpk

(2)测试:

三、Python代码测试GLPK求解器

1、首先,安装pyomo及pao库

pip install  pyomo   pao   -i   https://pypi.tuna.tsinghua.edu.cn/simple

2、若遇到报错No module named 'pyutilib',执行命令:

pip install  pyutilib    -i   https://pypi.tuna.tsinghua.edu.cn/simple

3、使用示例代码

import pyomo.environ as pe
import pao

M = pe.ConcreteModel()
M.x = pe.Var(bounds=(2,6))
M.y = pe.Var()
M.L = pao.pyomo.SubModel(fixed=[M.x, M.y])
M.L.z = pe.Var(bounds=(0,None))
M.o = pe.Objective(expr=M.x + 3*M.L.z, sense=pe.minimize)
M.c = pe.Constraint(expr=M.x + M.y == 10)
M.L.o = pe.Objective(expr=M.L.z, sense=pe.maximize)
M.L.c1 = pe.Constraint(expr=M.x + M.L.z <= 8)
M.L.c2 = pe.Constraint(expr=M.x + 4*M.L.z >= 8)
M.L.c3 = pe.Constraint(expr=M.x + 2*M.L.z <= 13)
opt = pao.Solver("pao.pyomo.FA")
results = opt.solve(M, tee=True)
#results = opt.solve(M)
print(M.x.value, M.y.value, M.L.z.value)

4、若未正确配置GLPK,求解过程将出现以下报错:

5、正确安装配置GLPK,将得到以下运行结果,显示调用GLPK求解器

6、若同时采用两种方法安装了GLPK,此时Anaconda环境和本地电脑环境变量中均有GLPK,分别为5.0和4.65版本,会优先调用Anaconda环境的GLPK:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值