matlab - 使用内置 MATLAB 函数 fminimax 进行最大最小优化
问题描述
如何在 max-min 优化中使用 fminimax?我对必须包含在最小-最大公式中的外部负号感到困惑,以便可以使用“fminimax”解决最大-最小优化问题。如何在我的代码中包含外部负号?可以通过使成本函数为负来处理内部负号。但是外部的负号呢,如何在代码中包含它呢?
解决方案
默认情况下fminmax
,尝试解决您的目标函数集的所有最大值的“全局”最小值。但是,如果您正在寻找所有最小值中的最大值,如文档中所述,您需要为输出和目标函数集添加一个负号。
这是一个最小的例子:
% Solve minmax:
fun = @(x)[sin(x);cos(x)];
x0 = 1;
x = fminimax(fun,x0)
和
% Solve maxmin:
fun = @(x)-[sin(x);cos(x)]; %fun -> -fun
x0 = 1;
x = -fminimax(fun,x0) %x -> -x
推荐阅读
- python - 使 python 模块集合可安装
- docker - 如何解决 /dev/mapper/docker 满了?
- java - 如何在 spring redis executepiplelined as Map 中获取 hgetall 结果
- mysql - 将列值与另一个没有公共列的表匹配
- javascript - Angular 6:async await some variable got it variable
- stripe-payments - 我想在单个平台上集成 Square API 和 Stripe API,两者的功能应该相同,下面是我无法找到答案的查询
- shell - 当提示宽度与 COLUMNS 相同时,zsh 会截断先前的标准输出
- spring - 如何通知不同用户的工作状态变化?
- sqlbase - SqlBase 和 Gupta 窗户通向天空
- android - GridView 项目颜色在选择时发生变化,之前选择的项目应显示其他颜色