windows 7 visual studio 2010 下配置线性规划开源包 GLPK

来源:互联网 发布:ubuntu鼠标假死 编辑:程序博客网 时间:2024/05/22 14:14

在解决线性规划问题(LP)时需要用到开源包 GLPK ,一般都在 linux 环境下配置,

可以参考 此博文

windows 7 32位机器 visual studio 2010 下配置简单总结如下:

1. GLPK 开源包可以在官网上下载:

官网: http://gnu.april.org/software/glpk/
在大陆也有别的镜像网站:
http://mirror.hust.edu.cn/gnu/
http://mirror.bjtu.edu.cn/gnu/
http://mirrors.ustc.edu.cn/gnu/
ftp://mirrors.ustc.edu.cn/gnu/

GLPK 全称GNU Linear Programming Kit.顾名思义,这是GNU计划下一个用于解线性规 划(Linear Programming)的工具包。它可以方便的描述线性规划问题,并给出相应解。

2. 生成 glpsol.exe

解压压缩包后找到文件夹 w32 中 readme 文件,按照其中的提示:
找到与自己编译器对应的 bat 文件,右键选择编辑,切勿双击运行,设置编译器路径:

保存后关闭文件,双击编辑后的 bat 文件,等待 DOS 风格的界面运行结束,如果显示  'OPTIMAL SOLUTION FOUND' 则表示成功,否则表示中间出现问题。
一旦运行完毕,该目录下就会出现 glpk.lib, glpsol.exe 两个文件分别是 GLPK 的目标链接库(object library)和 GLPK 单机 LP/MIP 程序。

3. 运行 glpsol.exe 程序来求解 LP/MIP 问题

运用命令行来运行 glpsol.exe。找到解压后目录中的 sample 文件夹,找到其中的一个模型文件来进行测试:
例如选择 plan.mps 来,在命令行中输入 glpsol.exe --mps ..\example\plan.mps,回车即可求解:



glpsol.exe 基本用法是 glpsol.exe [parameter] [filename]
求解的模型文件必须按照 Modeling Language GNU MathProg 来编写
parameter 和模型文件的写法等程序的使用问题可以在目录 doc 中的文档 glpk.pdf & gmpl.pdf 中查到。
相关博文可参考:
GLPK - GNU 线性规划工具包(安装、例子、使用手记)
IBM 线性优化简介

4. GLPK API 配置

要想使用 GLPK 提供的 API 就必须要配置自己的编译器,对 visual studio 2010 配置过程如下:
新建空的控台工程,由于需要用到 GLPK 提供的库,因此需要将相应文件添加到搜索路劲下:
可以将解压后 src 文件夹放到 vs 的 include 目录下,也可以在 property manager 修改用户 property page 中的附加 Include 目录:
找到 property manager 找到 debug 模式下的 property page: Microsoft.Cpp.Win32.user,双击打开,找到 c/c++ -> general -> additional include directory,将 src 目录添加其中:


还需要添加之前生成的 GLPK 提供的链接库文件 glpk.lib ,在上一步的 property page 中继续修改:linker -> general -> additional library directories,将生成的 glpk.lib 文件目录添加其中,然后在 linker -> input -> additional dependencies 中添加 glpk.lib:

保存修改,就可以了。

在工程中添加源文件 sample 目录下的 sample.c:


编译,运行即可,具体 API 使用参见 glpk.pdf


鄙人不才,如有疏忽,恳请指出。

0 0
原创粉丝点击