使用matlab优化工具箱求解规划问题

matlab优化工具箱

在命令行中输入optimtool,即可打开优化工具箱
在这里插入图片描述

fmincon函数

在matlab中,可以使用函数x = fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon,options)求解非线性规划问题。
fun为目标函数
x0为不等式的初始值:

x0=[x(1)0,x(2)0,…,x(n)0]

A,b,Aeq,beq为线性不等式约束条件的参数

A = [1,2];
b = 1; % A*x <= b

Aeq = [2,1];
beq = 1; % Aeq*x <= b

lb,ub为x的上下界

lb=[x(1)min,x(2)min,…x(n)min]
ub=[x(1)max,x(2)max,…x(n)max]

nonlcon为约束条件,写在M文件中

function [c,ceq] = mycon(x)
c = [(),…,()] % 非线性不等式的约束条件
ceq = [(),…,()] % 非线性等式的约束条件

没有非线性等式的约束条件时,需要写ceq=[];

示例

以此题为例:
在这里插入图片描述

目标函数的M文件:

在这里插入图片描述
由于fmincon函数求的是最小值,而题目要求的是最大值,将题目中的原函数取负,这样求得的最小值就是原函数最大值的相反数。在工具箱中以函数句柄的形式引用目标函数和约束条件的M文件。

约束条件的M文件:

在这里插入图片描述
将不等式整理成f(x)<=0的形式,左边的部分(f(x))就是c(i)
x1~x6>=0的条件可以在工具箱的bounds里设置
在这里插入图片描述
线性、非线性规划都可以解(大概)

结果

在这里插入图片描述

  • 16
    点赞
  • 109
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值