- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要优化以下功能:
f(x)= x ^ 2 + y ^ 3 + z ^ 4
有约束:
x + y + z = 10
1.5 + xy-z <= 0
xy> = -10
和限制:
-10 <= x <= 10
-5 <= y <= 5
0 <= z <= inf
我需要使用这些选项:
'LargeScale'='off','GradObj'='on','GradConstr'='on',我的代码如下所示:
options = optimset('LargeScale', 'off', 'GradObj','on','GradConstr','on');
A = [-1 0 0
1 0 0
0 -1 0
0 1 0
0 0 -1];
b = [-10 10 -5 5 0];
Aeq = [1 1 1];
beq = [10];
[x fval] = fmincon(@fun,[0 0 0],A, b, Aeq, beq,[],[],@constr, options);
function [y,g] = fun(x)
y = x(1).^2+x(2).^3+x(3).^4;
if nargout > 1
g = [2*x(1), 3*x(2).^2, 4*x(3).^3];
end
end
function [c,ceq, GC, GCeq] = constr(x)
c(1) = 1.5 + x(1)*x(2) - x(3);
c(2) = -10 - x(1)*x(2);
ceq = [];
if nargout > 2
GC = [x(2), -x(2);
x(1), -x(1);
0 , 0];
GCeq = [];
end
end
最佳答案
您应用于x(1)
和x(2)
的线性约束不正确。正如您所给出的,对x(1)
起作用的两个约束表示为:
x(1) <= 10
-x(1) <= -10
x(1)=10
。将两个RHS值都设置为10,您将对要实现的
x(1)
实施限制。
x(3)
,您缺少该渐变的-1值。
[8.3084 0.0206 1.6710]
的最佳解决方案。我认为您提供的预期结果不正确,它们不满足
x + y + z = 10
的相等约束
options = optimset('LargeScale', 'off', 'GradObj','on','GradConstr','on');
A = [-1 0 0
1 0 0
0 -1 0
0 1 0
0 0 -1];
b = [10 10 5 5 0];
Aeq = [1 1 1];
beq = [10];
[x fval] = fmincon(@fun,[0 0 0],A, b, Aeq, beq,[],[],@constr, options);
function [y,g] = fun(x)
y = x(1).^2+x(2).^3+x(3).^4;
if nargout > 1
g = [2*x(1), 3*x(2).^2, 4*x(3).^3];
end
end
function [c,ceq, GC, GCeq] = constr(x)
c(1) = 1.5 + x(1)*x(2) - x(3);
c(2) = -10 - x(1)*x(2);
ceq = [];
if nargout > 2
GC = [x(2), -x(2);
x(1), -x(1);
-1 , 0];
GCeq = [];
end
关于matlab - Matlab优化工具箱中的非线性等式和不等式约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53907978/
我正在编写一个 T4 脚本,它反射(reflect)了某些类并提供基于它们的代码生成。问题是我的脚本出错了,说我当前项目中的类无法访问。 脚本本身与我试图引用的类位于同一个程序集中。我试过引用命名空间
我在运行 Docker Toolbox v. 1.13.1a在 Windows 7 Pro Service pack 1 x64操作系统。 与 Virtual Box Version 5.1.14 r
我正在尝试使用 t4toolbox 为项目生成 linq2sql 类。已经有很多针对默认 dbml 生成的代码编写的代码。 在 LinqToSqlEntityClassTemplate.tt 文件中有
就目前情况而言,这个问题不太适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、民意调查或扩展讨论。如果您觉得这个问题可以改进并可能重新开放,visit
我拥有 MATLAB R2016b 和 Parallel Toolbox 的独立许可证。我正在编写一个应用程序,将发送给可能没有安装该工具箱的客户,我想编写我的应用程序以使其正常失败(即运行单线程)。
R2014b 中新增的工具箱打包功能看起来很不错。 但是,您似乎只能通过工具箱打包 GUI 来打包工具箱。 我希望能够创建一个 .prj使用 GUI 交互式文件,然后使用此 .prj 以编程方式打包工
我必须重新投影我的 3D 点(我已经有来自 Bundler 的数据)。 我在 MATLAB 中使用相机校准工具箱来获取相机的固有参数。我从 27 张图像中得到了这样的输出(棋盘;图像是从不同角度拍摄的
我将我的 boot2docker 更新为 DockerToolbox。 现在我尝试使用 Sequal Pro(MySQL 客户端)连接到我的数据库,但我的 ssh 登录到我的 VM 失败,并使用以下用
所以我使用 Docker Toolbox 是因为我的机器上没有 Hyper-V,因为它不是 Windows 10 专业版。一切似乎都很好,但是当我尝试在我的浏览器 0.0.0.0:80 上继续时,它总
我是 T4 新手,正在尝试使用 T4 Toolbox基于 this answer 生成 F# 代码,但似乎类功能块不能与语句块混合。这是我的代码: module Module2 我收
我正在使用 SOM Toolbox分析从汽车数据库收集的数据。我的问题是在可视化统一距离矩阵时。引用 som_umat 的文档: Compute and return the unified dist
我正在为我们编写的自定义 SSIS 组件创建安装程序。我想自动添加自定义组件,而不是要求用户手动添加它。 我正在尝试用这段代码来做到这一点: public void AddToolboxItem(st
我使用的是 Win7 和 DockerToolbox 18.03。我在运行卷时遇到了一些问题,所以我开始尝试使用 Kitematic: 我从 mysql 运行一个容器,在选项“volumes”中我看到
我在我的 jQuery 移动应用程序上创建侧边栏工具箱时遇到困难。 我想要这样的渲染:http://www.paultrifa.com/envato/themeforest/side/red/prev
我正在尝试学习 HMM GMM 实现并创建了一个简单的模型来检测某些特定的声音(动物叫声等) 我正在尝试在 MATLAB 中使用 GMM(高斯混合)训练 HMM(隐马尔可夫模型)网络。 我有几个问题,
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
如何在脚本/函数中检查已安装的 MATLAB 工具箱? (检查工具箱版本也很好!)当有人试图在没有所需工具箱的情况下运行脚本时,这可以提供快速且有用的错误消息。 想到的一个快速但粗略的解决方案是解析
我在 Mac 上使用 Docker Toolbox。 docker push 挂起。我如何硬重启守护进程或 docker-machine VM 以使这个以一种不好的方式解除挂起。等待的时间太长了。 最
我使用 apt-get 安装了 Scilab,现在我想安装这个工具箱:http://sourceforge.net/projects/data-comm/ 我试过这个: tomsInstall('/h
编辑:问题是 COMPOSE_CONVERT_WINDOWS_PATHS环境变量没有设置。我尝试将它添加到 Dockerfile和 .env文件,但它没有被设置。我无法设置任何新的环境变量。它就像从缓
我是一名优秀的程序员,十分优秀!