函数简介
intlinprog和linprog都是matlab自带的两种函数,功能大体相同。都是用来求解线性规划问题的最优解,只是intlinprog用于求整数解而已。 线性规划问题
下图是一个线性规划问题的约束条件和目标函数的一个模版。 其中min z为目标函数,s.t.为约束条件。
那么,如何让来解决这样的问题,如何求出目标函数在约束条件的最值呢?
1,简单模型 可以应用平面向量来解决(高中知识)
2,复杂模型 必须应用MATLAB这个小软件来处理。 函数的使用
首先,在上述的图片模型中,我们要知道其中的符号所表达的意思
x:最优解 fval:目标函数的值 f:为目标函数中x的系数
A:表示不等式各项未知数的系数
b:表示不等式右边的数
Aeq:为等式各项未知数系数
beq:为等式右边的数
lb:表示x的下限
ub:表示x的上限 linprog函数 我目前所能理解的标准型为[x,fval] = linprog(f,A,b,Aeq,beq,lb,ub)
备注:该模型解决一般的线性规划问题应该问题不大。
程序的编写:
需要注意:linprog为求最小值 要注意目标函数的要求 如果求最大值 应把系数前加负号,同时约束条件那也是如此,若为大于号 就要像图片中红点上方的例子一样 将系数变为负号。 intlinprog函数
他与linprog最大的区别就是 这里的x 为整数
标准型为:x=intlinprog(f,intcon,A,b,Aeq,beq,lb,ub) 相比linprog多了一个intcon这个东西
就拿上图举例 在编程过程中需要标明那几个未知量为整数 将未知数的下角标填入图中中括号里,就完成了,基本与linprog一致
本文章为个人学习笔记 如有错误欢迎改正 和指点 谢谢
|
请发表评论