联系方式

  • QQ:99515681
  • 邮箱:99515681@qq.com
  • 工作时间:8:00-23:00
  • 微信:codehelp

您当前位置:首页 >> Matlab程序Matlab程序

日期:2020-12-04 08:25

I GLPSOL is an LP solver, i.e., a program that finds the optimal solution of linear programs.
I There are several other such solvers: CPlex, Gurobi, Xpress, MINOS, COIN.OR, SCIP Optimization Suite,
LP_SOLVE, and even Excel can solve small instances.
I Documentation: https://en.wikibooks.org/wiki/GLPK/Using_GLPSOL
Option 1: Installation
I Windows:
https://sourceforge.net/projects/winglpk/files/winglpk/GLPK-4.65/winglpk-4.65.zip/download
Windows 10 installation guide:
http://www.osemosys.org/uploads/1/8/5/0/18504136/glpk_installation_guide_for_windows10_-_201702.pdf
I Linux with apt: sudo apt install glpk-utils
The command is called glpsol
Option 2: Remote Access to George Holt Lab 2,3,4, or 5
I Go to https://remotetcs.liverpool.ac.uk (this requires two-factor authentication, for example via the
Duo Mobile app on a phone)
I Click on “Connect to a Teaching Centre PC to work in my own time (self-service use)”
I Select “Use a PC in the following centre” and choose one of the George Holt Labs from the dropdown list.
I Click on “Request PC”.
I When you are logged in, start the terminal and type glpsol.
For Linux an additional setup is needed: https://remotetcs.liverpool.ac.uk/help_linux.html
Using GLPSOL
I glpsol --help shows a usage guide.
I glpsol --lp test.lp solves the LP that is stored in the file test.lp.
We only need basic features of the .lp format. For example:
Maximize
-4 x1 - 3 x2
Subject To
x1 + x2 <= 1
- x2 <= -1
- x1 + 2 x2 <= 1
x1 >= 0
x2 >= 0
End
Caveat: The format is fairly fragile. For example, “x1 <= 1 - x2” is not a valid line. And not all variables
names are possible, for example B is not, because it stands for “bounds”.
More info: https://www.gurobi.com/documentation/7.5/refman/lp_format.html
A proper output can be written to a file via glpsol --lp test.lp -o output.txt
Example:
Problem:
Rows: 5
Columns: 2
Non-zeros: 8
Status: OPTIMAL
Objective: obj = 800 (MAXimum)
No. Row name St Activity Lower bound Upper bound Marginal
------ ------------ -- ------------- ------------- ------------- -------------
1 r.4 NU 480 480 1
2 r.5 NU 160 160 2
3 r.6 B 980 1190
4 r.7 B 12 0
5 r.8 B 28 0
No. Column name St Activity Lower bound Upper bound Marginal
------ ------------ -- ------------- ------------- ------------- -------------
1 x1 B 12 0
2 x2 B 28 0
Karush-Kuhn-Tucker optimality conditions:
[...]
End of output
Practice tasks:
1. Use GLPSOL to solve the brewery example that was discussed on 2020-Oct-15 (slides available on canvas).
2. Use GLPSOL to solve the problems 2.1, 2.2, 2.3, 2.4 on page 22 in the textbook
(http://tinyurl.com/lpbook2020).
3. Use GLPSOL to solve the problem 2.11 on page 23 in the textbook.
4. Use GLPSOL to solve the problem 3.1 on page 40 in the textbook.
5. Use GLPSOL to solve the problem 3.5 on page 41 in the textbook.
6. A mint produces several different types of coins, each with a different composition of raw materials. The
table below shows the make-up of each coin type. The mint wants to use the available materials
(1000g Cu, 50g Ni, 50g Zi, 50g Mn) to produce coins with the maximum total dollar value. Use GLPSOL
to find out which coins they should produce.
Penny Nickel Dime Quarter Dollar
Copper (Cu) 0.06g 3.6g 2.1g 5.2g 7.2g
Nickel (Ni) 1.2g 0.2g 0.5g 0.2g
Zinc (Zi) 2.4g 0.5g
Manganese (Mn) 0.3g

版权所有:留学生程序辅导网 2019 All Rights Reserved 联系方式:QQ:99515681 电子信箱:99515681@qq.com
免责声明:本站部分内容从网络整理而来,只供参考!如有版权问题可联系本站删除。