关于Ubuntu环境下配置GLPK

最近要做卜东波老师线性规划的算法作业,要求用GLPK和Gurobi对结果进行验证

本来想在Windows下安装GLPK的,但是貌似Windows下必须安装VS才能对GLPK进行编译,不想装VS......于是在虚拟机里面的Ubuntu配置GLPK

一、安装

网上有两种方法

方法一:添加源然后更新源并安装,这种方法我试了一下,在添加源后再更新用sudo apt-get update貌似会出错?试了几次之后不行然后用了第二种方法

方法二:

  • 到官网下载http://ftp.gnu.org/gnu/glpk/
  • 选择一个版本进行下载(划重点!这里有很坑的地方!选择尽量稍微之前一点的版本,新版本可能会出错)这里我选的4.60
  • 在Ubuntu里面用火狐下载之后提取到桌面
  • GLPK支持使用GMP来计算大数字以及高精度浮点,默认不适用,但是使用GMP的话效率更高,因此本人在配置时添加了对GMP的支持。进入解压安装文件目录,并配置:./configure –with-gmp
  • 之后再输入命令行:./configure
  • 根据配置变异安装文件:make
  • 然后就可以进行安装了,安装的默认路径是/usr/local/lib,因此需要取得管理员权限:sudo make install
  • 这就安装完了,然后就可以写程序了

二、使用

gedit glpsolEx.mod然后编辑以下代码

/* Variables */
var x1 >= 0;
var x2 >= 0;
var x3 >= 0;

/* Object function */
maximize z: x1 + 14*x2 + 6*x3;

/* Constrains */
s.t. con1: x1 + x2 + x3 <= 4;
s.t. con2: x1 <= 2;
s.t. con3: x3 <= 3;
s.t. con4: 3*x2 + x3 <= 6;

end;

运行 glpsol -m glpsolEx.mod -o glpsolEx.sol,输出到glpsolEx.sol文件中

然后gedit glpsolEx.sol就可以查看输出的内容了

Problem:    glpsolEx
Rows:       5
Columns:    3
Non-zeros:  10
Status:     OPTIMAL
Objective:  z = 32 (MAXimum)

   No.   Row name   St   Activity     Lower bound   Upper bound    Marginal
------ ------------ -- ------------- ------------- ------------- -------------
     1 z            B             32
     2 con1         NU             4                           4             2
     3 con2         B              0                           2
     4 con3         B              3                           3
     5 con4         NU             6                           6             4 

   No. Column name  St   Activity     Lower bound   Upper bound    Marginal
------ ------------ -- ------------- ------------- ------------- -------------
     1 x1           NL             0             0                          -1
     2 x2           B              1             0
     3 x3           B              3             0               

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 = 4.44e-16 on row 4
        max.rel.err = 1.11e-16 on row 4
        High quality

KKT.DE: max.abs.err = 0.00e+00 on column 0
        max.rel.err = 0.00e+00 on column 0
        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

参考:

http://blog.sciencenet.cn/home.php?mod=space&uid=3249403&do=blog&id=1019884

https://www.cnblogs.com/jostree/p/4156204.html

时间: 2024-11-05 18:52:22

关于Ubuntu环境下配置GLPK的相关文章

Linux(ubuntu)环境下配置weka

下载java vm.在命令行输入 wget --no-cookie --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F" http://download.oracle.com/otn-pub/java/jdk/7u25-b15/jdk-7u25-linux-i586.tar.gz 注意命令行中参数表示带cookie的下载请求,如果没有这个命令行参数下载下来的只是一个5k的网页. 安装java vm.创建java 目录 sud

【转载】Ubuntu环境下配置Android Studio

之前学习Android开发的时候,一直跟各种教程一样,使用的是Eclipse+ADT,主要是比较方便,容易上手,特别是对于习惯用Eclipse开发java的朋友来说,上手更是好无压力.但毕竟Eclipse+ADT最多只能算Google的干儿子,特别是在有了亲儿子Android Studio后,今后的潮流必定是使用Android Studio进行android开发. 因为嫌麻烦,所以一直没尝试,昨天闲来无事,鼓捣了一下,把Android Studio配置好了,最大的直观感受就是:漂亮!对平时总是羡

Ubuntu环境下配置Android Studio【转】

本文转载自:https://www.jianshu.com/p/1f6295f9c955 之前学习Android开发的时候,一直跟各种教程一样,使用的是Eclipse+ADT,主要是比较方便,容易上手,特别是对于习惯用Eclipse开发java的朋友来说,上手更是好无压力.但毕竟Eclipse+ADT最多只能算Google的干儿子,特别是在有了亲儿子Android Studio后,今后的潮流必定是使用Android Studio进行android开发. 因为嫌麻烦,所以一直没尝试,昨天闲来无事,

在Ubuntu环境下配置Proxmark3(PM3)使用环境

参考资料:PM3官方Wiki 因为国内网络上大多是在Kali系统上使用PM3的教程(链接1.链接2.链接3),而这些教程的步骤对于Ubuntu系统并不完全适用.所以写下本文,记录我个人的安装经历. 本教程与官方Wiki相比省略了部分步骤,仅验证过在全程root用户操作时可行,建议按照官方英文教程进行安装 官方Wiki中的刷写固件步骤(Flashing XXX)非必须且风险较大,除非有需求,否则不要轻易刷固件,容易变砖 一.安装必要软件包 在终端中依次执行以下命令 sudo apt update

Ubuntu环境下配置ant

配置ant 1. 下载ant(http://ant.apache.org/bindownload.cgi) 例如我下载的是:apache-ant-1.9.4-bin.tar.gz 解压ant,将文件夹名称改为apache_ant,并移动到/home目录下 2. 设置环境变量 sudo gedit /etc/profile 在打开的profile文件末尾加入: #set ant export ANT_HOME=/home/apache_ant export PATH=/home/apache_an

Ubuntu环境下配置Nginx

/etc/nginx目录文件下: drwxr-xr-x   5 root root 4096 Apr 27 12:47 ./ drwxr-xr-x 104 root root 4096 Apr 27 11:54 ../ drwxr-xr-x   2 root root 4096 Feb 12 00:26 conf.d/ -rw-r--r--   1 root root  911 Mar  5  2014 fastcgi_params -rw-r--r--   1 root root 2258 M

Ubuntu环境下的Redis 配置与C++使用入门

  Redis是一个高性能的key-value数据库. Redisedis的出现,很大程度补偿了memcached这类key/value存储的不足,在部分场合可以对关系数据库起到很好的补充作用.它提供了Java,C/C++,C#,PHP,JavaScript,Perl,Object-C,Python,Ruby,Erlang等客户端,使用很方便. 本文将通过介绍Ubuntu环境下的Redis 配置,介绍C++入门使用的方式,帮助读者快速上手Redis. 安装配置 获取源码.解压.进入源码目录,编译

ubuntu eclipse下配置C++ 环境

首先你通过以下3个命令确定已安装好eclipse cdt sudo apt-get install eclipse sudo apt-get install eclipse-pde sudo apt-get install eclipse-jdt 如果没有出现问题.那你算完成任务了. 但是多数人是会出现问题的,比如我: Unresolved  inclusion <iostream> error 我打开eclipse项目属性 下的Path and Symbols  找到GNU C ++ 下为空

ubuntu环境下eclipse的安装以及hadoop插件的配置

ubuntu环境下eclipse的安装以及hadoop插件的配置 一.eclipse的安装 在ubuntu桌面模式下,点击任务栏中的ubuntu软件中心,在搜索栏搜索eclipse 注意:安装过程需要输入用户密码. 二.eclipse的配置 待eclipse安装好以后,在命令行输入whereis eclipse 找到eclipse的安装路径 在文件目录下找到eclipse中的插件目录 然后在打开一个文件目录窗口找到hadoop/contrib/eclipse-plugin中的eclipse插件—