阿塔西亚 2022-03-30 10:59 采纳率: 100%
浏览 42
已结题

fmincon函数非线性优化问题

clear;
clc;

lb = [1;0.625;25;25];
ub = [1.375;1;150;240];

A=[-1 0 0.0193 0;
    0 -1 0.00954 0;
    0 0 0 1;
    -1 0 0 0;
    0 -1 0 0];
b=[0;0;240;-1.1;-0.6];

function [c,ceq] = mycon(x)
c=-pi*x(3)*x(3)-4/3*pi*x(3)*x(3)*x(3)+1296000;
ceq = [];
end

function [ f7 ] = mypeaks( x )
f7=0.6224*x(1)*x(3)*x(4)+1.7781*x(2)*x(3)^2+3.1661*x(1)^2*x(4)+19.84*x(1)^2*x(3);
end

for i=1:50
    x0 = [1;0;0;0]+1.*rand(4,1);  % randomly determine the initial point
%     x0 = [0.5 -1.5];
    % sqp
    sqp_opts = optimset('Algorithm','sqp','Display','iter-detailed' );
    [x,fval,exitflag,output]=fmincon(@mypeaks,x0,A,b,[],[],lb,ub,@mycon,sqp_opts);
%     %% ga
%     ga_opts = gaoptimset('Display','off','PopulationSize',100);
%     [x,fval,exitflag,output]=ga(@mypeaks,4,A,b,[],[],lb,ub,@mycon,ga_opts);
%     %% Record data
    recordY(i) = fval;
    recordNfe(i) = output.funcCount;
end

img

最优解答案应该在8960,但是我的sqp算法算出来50个都是8949,没有变化很不对啊,请问哪里出了问题呢?

展开全部

  • 写回答

1条回答 默认 最新

  • 秋刀鱼程序编程 2022-03-30 11:50
    关注

    你这里的无约束条件不是图片中了的吧,被你修改了的,运行程序没错,你可以看看是不是参数上设置错了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
    阿塔西亚 2022-03-30 12:03

    没事了,是我记错答案了。。。

    回复
编辑
预览

报告相同问题?

问题事件

  • 系统已结题 4月6日
  • 已采纳回答 3月30日
  • 创建了问题 3月30日

悬赏问题

  • ¥15 一部手机能否同时用不同的app进入不同的直播间?
  • ¥15 没输出运行不了什么问题
  • ¥20 输入import torch显示Intel MKL FATAL ERROR,系统驱动1%,: Cannot load mkl_intel_thread.dll.
  • ¥15 点云密度大则包围盒小
  • ¥15 nginx使用nfs进行服务器的数据共享
  • ¥15 C#i编程中so-ir-192编码的字符集转码UTF8问题
  • ¥15 51嵌入式入门按键小项目
  • ¥30 海外项目,如何降低Google Map接口费用?
  • ¥15 fluentmeshing
  • ¥15 手机/平板的浏览器里如何实现类似荧光笔的效果
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部