非线性规划(1)

一、题目

 

 二、题目分析

(1)(2)(3)(4)为非线性规划问题

(5)为常规的线性规划问题

matlab代码实现:

clc
clear all
fun=@(x)sum(x.^2)+8; %目标函数 非线性

[x,f_min]=fmincon(fun,[0,0,0],[],[],[],[],zeros(3,1),[],@nonlcon)

% 非线性约束条件
function [c,ceq]=nonlcon(x)%nonlcon是用M函数定义的非线性函数c(x),ceq(x)
c=[-x(1)^2+x(2)-x(3)^2
    x(1)+x(2)^2+x(3)^3-20];  %非线性不等式约束
ceq=[-x(1)-x(2)^2+2
   x(2)+2*x(3)^2-3*x(1)]; %非线性等式约束
end

输出结果:

x =

    0.7472    1.1193    0.7490


f_min =

   10.3722

四、题目二

求目标函数

fun =   (x)100*(x(2)-x(1)^2)^2+(1-x(1))^2

在圆内的最小点

代码实现:

fun=@(x)100*(x(2)-x(1).^2).^2+(1-x(1)).^2; %目标函数 非线性
[x,y_min]=fmincon(fun,[1/4,1/4],[],[],[],[],[0,0.2],[0.5,0.8],@nonlcon)
% 非线性约束条件
function [c,ceq]=nonlcon(x)
c=[sum((x-1/3).^2)-1/9];  %非线性不等式约束
ceq=[]; %非线性等式约束,为空
end

输出结果:

x =

    0.5000    0.2500


y_min =

    0.2500

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值