线性规划工具 GLPK 的安装及基本使用
来源:互联网 发布:java授权许可协议 编辑:程序博客网 时间:2024/05/16 04:51
线性规划工具 GLPK 的安装及基本使用
分类: 数学 计算机科学 工具 2012-12-12 14:02 418人阅读 评论(0) 收藏 举报
目录(?)[+]
线性规划工具GLPK 的安装及基本使用
概述
安装
基本使用
用途
参考资料
线性规划工具 GLPK 的安装及基本使用
1 概述
2 安装
3 基本使用
4 用途
1 概述
GLPK 全称GNU Linear Programming Kit.顾名思义,这是GNU计划下一个用于解线性规 划(Linear Programming)的工具包。它可以方便的描述线性规划问题,并给出相应解。
GLPK 的主页为:http://www.gnu.org/software/glpk/
2 安装
Ubuntu下一条命令即可: sudo apt-get install glpk
3 基本使用
线性规划问题描述 首先需要一个文件glpsolEx.mod来描述你的线性规划问题,示例如下[cpp] view plaincopyprint?/* Variables */
var x1 >= 0;
var x2 >= 0;
var x3 >= 0;
/* Object function */
maximize z: 3*x1 + x2 +2*x3;
/* Constrains */
s.t. con1: x1 + x2 + 3*x3 <= 30;
s.t. con2: 2*x1 +2*x2 + 5*x3 <= 24;
s.t. con3: 4*x1 + x2 + 2*x3 <= 36;
end;
/* Variables */
var x1 >= 0;
var x2 >= 0;
var x3 >= 0;
/* Object function */
maximize z: 3*x1 + x2 +2*x3;
/* Constrains */
s.t. con1: x1 + x2 + 3*x3 <= 30;
s.t. con2: 2*x1 +2*x2 + 5*x3 <= 24;
s.t. con3: 4*x1 + x2 + 2*x3 <= 36;
end;
使用glpk解此问题 glpsol -m glpsolEx.mod -o glpsolEx.sol
-m filename: 指定描述问题的文件
-o filename: 指定输出结果保存在哪个文件
结果 [plain] view plaincopyprint?Problem: glpsolEx
Rows: 4
Columns: 3
Non-zeros: 12
Status: OPTIMAL
Objective: z = 28 (MAXimum)
No. Row name St Activity Lower bound Upper bound Marginal
------ ------------ -- ------------- ------------- ------------- -------------
1 z B 28
2 a B 12 30
3 b NU 24 24 0.166667
4 c NU 36 36 0.666667
No. Column name St Activity Lower bound Upper bound Marginal
------ ------------ -- ------------- ------------- ------------- -------------
1 x1 B 8 0
2 x2 B 4 0
3 x3 NL 0 0 -0.166667
Karush-Kuhn-Tucker optimality conditions:
KKT.PE: max.abs.err = 0.00e+00 on row 0
max.rel.err = 0.00e+00 on row 0
High quality
KKT.PB: max.abs.err = 0.00e+00 on row 0
max.rel.err = 0.00e+00 on row 0
High quality
KKT.DE: max.abs.err = 2.22e-16 on column 1
max.rel.err = 3.17e-17 on column 1
High quality
KKT.DB: max.abs.err = 0.00e+00 on row 0
max.rel.err = 0.00e+00 on row 0
High quality
End of output
Problem: glpsolEx
Rows: 4
Columns: 3
Non-zeros: 12
Status: OPTIMAL
Objective: z = 28 (MAXimum)
No. Row name St Activity Lower bound Upper bound Marginal
------ ------------ -- ------------- ------------- ------------- -------------
1 z B 28
2 a B 12 30
3 b NU 24 24 0.166667
4 c NU 36 36 0.666667
No. Column name St Activity Lower bound Upper bound Marginal
------ ------------ -- ------------- ------------- ------------- -------------
1 x1 B 8 0
2 x2 B 4 0
3 x3 NL 0 0 -0.166667
Karush-Kuhn-Tucker optimality conditions:
KKT.PE: max.abs.err = 0.00e+00 on row 0
max.rel.err = 0.00e+00 on row 0
High quality
KKT.PB: max.abs.err = 0.00e+00 on row 0
max.rel.err = 0.00e+00 on row 0
High quality
KKT.DE: max.abs.err = 2.22e-16 on column 1
max.rel.err = 3.17e-17 on column 1
High quality
KKT.DB: max.abs.err = 0.00e+00 on row 0
max.rel.err = 0.00e+00 on row 0
High quality
End of output
结果中x1 x2 x3对应的activity就是他们最终的结果,即取此结果,目标值最大。z的Activity为28,即最大值为28。
4 用途
glpk的用途是可以快速验证一个新建立的线性规划模型是否正确。在我们对一类实际问题进行抽象后,准备用线性规划来解,可以先做一些小的case,写出相应的线性规划方程,然后用glpk来快速得到结果,以便验证我们的想法,并给我们一些新的想法和直觉。一旦这些直觉得以证明。我们就可以用线性规划解决更大规模的问题,并用glpk来求出结果。
参考资料:
1 http://www.ibm.com/developerworks/cn/linux/l-glpk1/index.html
分类: 数学 计算机科学 工具 2012-12-12 14:02 418人阅读 评论(0) 收藏 举报
目录(?)[+]
线性规划工具GLPK 的安装及基本使用
概述
安装
基本使用
用途
参考资料
线性规划工具 GLPK 的安装及基本使用
1 概述
2 安装
3 基本使用
4 用途
1 概述
GLPK 全称GNU Linear Programming Kit.顾名思义,这是GNU计划下一个用于解线性规 划(Linear Programming)的工具包。它可以方便的描述线性规划问题,并给出相应解。
GLPK 的主页为:http://www.gnu.org/software/glpk/
2 安装
Ubuntu下一条命令即可: sudo apt-get install glpk
3 基本使用
线性规划问题描述 首先需要一个文件glpsolEx.mod来描述你的线性规划问题,示例如下[cpp] view plaincopyprint?/* Variables */
var x1 >= 0;
var x2 >= 0;
var x3 >= 0;
/* Object function */
maximize z: 3*x1 + x2 +2*x3;
/* Constrains */
s.t. con1: x1 + x2 + 3*x3 <= 30;
s.t. con2: 2*x1 +2*x2 + 5*x3 <= 24;
s.t. con3: 4*x1 + x2 + 2*x3 <= 36;
end;
/* Variables */
var x1 >= 0;
var x2 >= 0;
var x3 >= 0;
/* Object function */
maximize z: 3*x1 + x2 +2*x3;
/* Constrains */
s.t. con1: x1 + x2 + 3*x3 <= 30;
s.t. con2: 2*x1 +2*x2 + 5*x3 <= 24;
s.t. con3: 4*x1 + x2 + 2*x3 <= 36;
end;
使用glpk解此问题 glpsol -m glpsolEx.mod -o glpsolEx.sol
-m filename: 指定描述问题的文件
-o filename: 指定输出结果保存在哪个文件
结果 [plain] view plaincopyprint?Problem: glpsolEx
Rows: 4
Columns: 3
Non-zeros: 12
Status: OPTIMAL
Objective: z = 28 (MAXimum)
No. Row name St Activity Lower bound Upper bound Marginal
------ ------------ -- ------------- ------------- ------------- -------------
1 z B 28
2 a B 12 30
3 b NU 24 24 0.166667
4 c NU 36 36 0.666667
No. Column name St Activity Lower bound Upper bound Marginal
------ ------------ -- ------------- ------------- ------------- -------------
1 x1 B 8 0
2 x2 B 4 0
3 x3 NL 0 0 -0.166667
Karush-Kuhn-Tucker optimality conditions:
KKT.PE: max.abs.err = 0.00e+00 on row 0
max.rel.err = 0.00e+00 on row 0
High quality
KKT.PB: max.abs.err = 0.00e+00 on row 0
max.rel.err = 0.00e+00 on row 0
High quality
KKT.DE: max.abs.err = 2.22e-16 on column 1
max.rel.err = 3.17e-17 on column 1
High quality
KKT.DB: max.abs.err = 0.00e+00 on row 0
max.rel.err = 0.00e+00 on row 0
High quality
End of output
Problem: glpsolEx
Rows: 4
Columns: 3
Non-zeros: 12
Status: OPTIMAL
Objective: z = 28 (MAXimum)
No. Row name St Activity Lower bound Upper bound Marginal
------ ------------ -- ------------- ------------- ------------- -------------
1 z B 28
2 a B 12 30
3 b NU 24 24 0.166667
4 c NU 36 36 0.666667
No. Column name St Activity Lower bound Upper bound Marginal
------ ------------ -- ------------- ------------- ------------- -------------
1 x1 B 8 0
2 x2 B 4 0
3 x3 NL 0 0 -0.166667
Karush-Kuhn-Tucker optimality conditions:
KKT.PE: max.abs.err = 0.00e+00 on row 0
max.rel.err = 0.00e+00 on row 0
High quality
KKT.PB: max.abs.err = 0.00e+00 on row 0
max.rel.err = 0.00e+00 on row 0
High quality
KKT.DE: max.abs.err = 2.22e-16 on column 1
max.rel.err = 3.17e-17 on column 1
High quality
KKT.DB: max.abs.err = 0.00e+00 on row 0
max.rel.err = 0.00e+00 on row 0
High quality
End of output
结果中x1 x2 x3对应的activity就是他们最终的结果,即取此结果,目标值最大。z的Activity为28,即最大值为28。
4 用途
glpk的用途是可以快速验证一个新建立的线性规划模型是否正确。在我们对一类实际问题进行抽象后,准备用线性规划来解,可以先做一些小的case,写出相应的线性规划方程,然后用glpk来快速得到结果,以便验证我们的想法,并给我们一些新的想法和直觉。一旦这些直觉得以证明。我们就可以用线性规划解决更大规模的问题,并用glpk来求出结果。
参考资料:
1 http://www.ibm.com/developerworks/cn/linux/l-glpk1/index.html
2 http://blog.csdn.net/yxf/article/details/1595058
原文:http://blog.csdn.net/on_1y/article/details/8286289
- 线性规划工具 GLPK 的安装及基本使用
- 线性规划工具 GLPK 的安装及基本使用
- 技术-Mac版本的GLPK安装使用
- 安装线性规划库glpk及其Python/R语言的封装库
- win系统安装配置GLPK及使用实例
- GLPK - GNU 线性规划工具包(安装、例子、使用手记)
- GLPK 安装配置与使用
- 实现GLPK部分功能的在线工具
- GLPK使用时的相关到问题
- 二.线性规划的基本性质
- mac上安装GLPK
- GLPK Mac 安装 例子
- Ubuntu 安装 GLPK软件
- glpk 使用简介
- 在Xcode中配置使用GLPK的详细步骤
- windows 7 visual studio 2010 下配置线性规划开源包 GLPK
- sniffer的安装及基本使用
- MySQL的安装及基本使用
- BitBlt参数含义
- Android开发环境及调试问题汇集
- 字符数组与整型数组的初始化和赋值对比
- VirtualBox增大空间方法
- 判断一个字符串是否全是数字的多种方法及其性能比较(C#实现)
- 线性规划工具 GLPK 的安装及基本使用
- 有向图,无向图的欧拉回路和欧拉通路poj 2337
- xStream框架使用
- 与数据开放有关的那些事
- windows8.1 下 python利用命令获取本机IP
- 大数据基准测试(Benchmark)
- Ubuntu下eclipse 启动失败
- clojure学习点滴
- hdu 1848 博弈 难题 取石子 三堆