Matlab优化函数linprog的使用
来源:互联网 发布:中信淘宝信用卡好吗 编辑:程序博客网 时间:2024/05/19 00:38
Matlab真的很强打,优化都方便了很多
先说说linprog的使用吧:
min f'x
约束条件: Ax<=b
等式约束条件: Aeqx=beq
lb<=x<=ub
linprog函数的调用格式如下:
linprog中f都是求最小值,这个要记住。A和b是不等式约束条件的参数
Aeq和beq是等式约束条件的参数
lb和ub为x取值的取值范围。
函数使用形式:
x=linprog(f,A,b)x=linprog(f,A,b,Aeq,beq)x=linprog(f,A,b,Aeq,beq,lb,ub)x=linprog(f,A,b,Aeq,beq,lb,ub,x0)x=linprog(f,A,b,Aeq,beq,lb,ub,x0,options)[x,fval]=linprog(…)[x, fval, exitflag]=linprog(…)[x, fval, exitflag, output]=linprog(…)[x, fval, exitflag, output, lambda]=linprog(…)
一般主要用的是:
x=linprog(f,A,b,Aep,beq,lb,ub);
设定中主要要注意的就是参数的维数是否于使用的想对应。
举个例子吧:
生活中最常用的:假如有三种商品,a,b,c。三种商品总的数量不能超过30;c种商品不能超过15,b种商品不能超过10。
商品的单价是10,20,30。现在求三种商品各是多少,销售额最高。
转化为数学问题:
条件:
a+b+c<30
c<15
b<10
函数:f = 10*a+20*b+30*c
因为linprog求的是最小值,一次我们改为:f = -(10*a+20*b+30*c)
这样我们有了函数,然后:
根据约束条件不等式,有:
A = [1 1 1;0 0 1;0 1 0]b = [30 15 10]
但这样算出来的结果大家会发现是小数,也可能是负数。
因此我们加入a b c取值的上下限
lp = [0 0 0]up = [30 30 30]
如果在计算中需要得到小数的结果,只要写成0.00或者30.00就可以了
最后带入函数计算就可以了
写完后发现例子挺水的(自己编的),同志们见谅吧,水平有限。
- Matlab优化函数linprog的使用
- matlab linprog函数的使用
- 线性规划问题和MATLAB函数linprog的使用
- 线性规划问题和MATLAB函数linprog的使用
- matlab中linprog函数
- matlab 线性规划函数-linprog
- Matlab线性规划函数linprog…
- 收集整理Matlab中的linprog函数使用说明
- matlab linprog函数 线…
- Matlab优化问题04_1—linprog(基础)
- Matlab优化问题04_2—linprog(高级)
- 利用线性规划函数linprog解线性系统(Matlab)
- matlab 调用linprog 出错
- 几种优化工具(linprog,lpsolve,yamlip,gurobi)使用心得
- linprog
- 一些优化过的matlab 函数
- MATLAB--对于im2bw函数的优化
- matlab函数reqz();的使用
- 1天学习1个类 UIImagePickerController 示例
- 集合框架
- SQL Server 2012 开发新特性:文件表
- Drupal 7如何实现在后台以表格,列表的形式管理网站的内容?像数据库表一样?
- 基于stun,turn ,ice协议的 SBC服务器
- Matlab优化函数linprog的使用
- Ural1517 Freedom of choice, 后缀数组,最长公共子串
- 利用Apache的commons-net实现FTP的文件读取、上传、下载、删除和移动功能
- SQL Server 2012 安全新特性:包含数据库
- Android 下拉列表 Spinner
- mysql入门篇2——常用数据字典信息
- 以太网类型码(Ethernet type codes)
- A盾 (A-Protect) 枚举进程的一个bug
- adobe flash player设置时无法点击允许的解决方法