用matlab解优化问题

作者:滴水穿石 | 创建时间: 2023-06-28
以前matlab针对优化问题有几种命令,新版本的matlab已经将各种命令统一了,主要是通过fmincon函数来实现规化问题,不论是线性规划还是非线性规划,都可以用该命令。...
用matlab解优化问题

操作方法

fmincon作为优化问题的万能命令,既可以解决带约束的优化问题,有可以解决不带约束的优化问题。下面简单介绍一下。

fmincon命令的格式如下。

解释如下: 输出x为解的结果 输出fval为目标函数的最小值 输出exitflag为解的情况(大于0表示求解成功) 程序名用于写目标函数 x0为初始向量 A、AEQ为系数矩阵(A为不等式约束,AEQ为等式约束) B、BEQ为常数项向量(B为不等式约束的常量,BEQ为等式约束的常量) L为解的下限 U为解的上限 程序2用于非线性约束

下面用一个实例来说明。如下图

首先编写目标函数。在编辑器中编写好后,保存。

然后,将题目转换会命令语言。其中的 1    1       5 A=1   -2 ,B= 3; AEQ= -3  2,  BEQ=8; -1           3 L=  4     ,U=  7; 初始值就随便填写符合上下限的数就行了,比如[1;1]

最后,在命令窗口中敲入命令。

或者这样写。

结果如下图。解释如下x=[0.4;4.6]表示x=0.4,y=4.6时目标函数在满足约束的情况下取得最小值fval=-19.16.其中exitflag=1>0表示结果正确。

点击展开全文

更多推荐