已知目标函数和约束条件怎么用matlab写出函数和约束式完整代码?

关于非线性规划非线性规划问题是指目标函数或约束条件中含有非线性函数的规划问题。

前面学到的线性规划,只有在理想的情况下,或者演习问题中,才能引导我们成为规划模型之一,让我们更容易理解。 相比之下,非线性规划更接近现实生活。 在本节中,我们首先通过线性规划中的fmincon ) (如linprog ()函数)来体验这类问题的解决过程。

)1) fun )是目标函数。 注意需要单引号或@。 或者,直接定义时写入匿名函数即可。 要求后nonlcon为非线性约束(包括等式和不等式),形式为同fun。

)2) x0表示决策变量的初始值,可以随机获取一组满足约束条件的数据值,一般影响不大;

(3) a、b、Aeq、beq分别表示线性不等式约束和等式约束,Ax=b、Aeqx=beq; lb、ub与前面的linprog ()函数相同,表示上下界的向量;

(4)使用options中指定的优化选项执行最小化。 使用optimoptions设置这些选项。 如果没有非线性不等式或等式约束,请设置nonlcon=[]。

基本要求如上,让我们用几个例子具体实现吧。

线性约束x1 2x2=1的条件下的最小值如下。

在本例中添加了线性等式约束

x=0.1y=0.3427 3.求具有非线性约束的最高值的两个问题只有目标函数是非线性的。 那么,下面的问题也是约束条件非线性的。 我该怎么办?

首先创建两个函数,一个是目标函数,另一个是非线性约束,最后调用

在以1/3、1/3为圆中心、1/3为半径的边界约束条件下求出其最小值

总结x=0.0y=0.2500以上,这次例题都解决了。 非线性规划求最大值的fmincon函数其实与线性规划的improg大同小异,关键是非线性约束条件的把握,即nonlcon和option。

}

我要回帖

更多关于 fmincon非线性约束例子 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信