数学建模——最大最小化模型

1.概念

最大最小化模型(Maximin Model)是一种优化方法,旨在最大化最坏情况下的收益或最小化最坏情况下的损失。

常见的现实问题有:

求最大值的最小化问题

最大风险的最低限度

最小化最坏情况下的损失等

2.一般数学模型

(找最大值里面最小的)

3.例题

建立模型:

函数套用:

|---------|-----------------------------------------------------------------------------------|
| fminimax ||
| fun | 把目标函数定义成一个单独的函数文件(min) |
| x0 | 决策变量的初始值 |
| A,b | 线性约束 不等式 变量系数矩阵和常数项矩阵(左侧系数和右侧向量,支持) |
| Aeq,beq | 线性约束 等式变量系数矩阵和常数项矩阵(左侧系数和右侧向量) |
| lb,ub | 决策变量的最小与最大取值(变量上下界) |
| nonlcon | 非线性约束(包括不等式与等式) |
| option | 求解非线性规划使用的方法 |

注意:fminimax函数与非线性规划的函数用法基本上一样,但是目标函数需要用函数向量表示如:

代码:

Matlab 复制代码
%最大最小值问题
x0=[6,6];
lb=[4,3];
ub=[16,11];
[x,fval]=fminimax(@minimaxFun,x0,[],[],[],[],lb,ub);
max(fval)
x
Matlab 复制代码
function f=minimaxFun(x)
    a=[2 5 7 9 11 12 15 18];
    b=[3 8 12 5 9 2 7 4];
    f=zeros(8,1);
    for i= 1:8
        f(i)=abs(x(1)-a(i))+abs(x(2)-b(i));
    end
end

解释一下函数代码:

复制代码
1  function f = fun(x)
  • 定义一个名为 fun 的函数,输入参数是 2×1 向量 x ,输出是 8×1 向量 f
    x(1) 代表供应中心的横坐标,x(2) 代表纵坐标。

    2 a = [ 1 4 3 5 9 12 6 20 17 8];

  • 行向量 a 存放 8 个需求点的 横坐标

    3 b = [ 2 10 8 18 1 4 5 10 8 9];

  • 行向量 b 存放 8 个需求点的 纵坐标

    4 f = zeros(10,1);

  • 预分配 8×1 的零向量 f,用来存 8 个距离值。

    预分配可以提高 MATLAB 效率,也可避免动态增长数组。

    5 for i = 1:10
    6 f(i) = abs(x(1) - a(i)) + abs(x(2) - b(i));
    7 end

  • 循环 8 次,依次计算当前供应中心 (x(1), x(2)) 到第 i 个需求点的直角距离

    公式:|x − aᵢ| + |y − bᵢ|

    结果写入 f(i)。

  • 该函数把 二维决策变量 (x,y) 映射到 8 个目标函数

  • fminimax 会把这 8 个数中的最大值作为要最小化的"最坏情况"目标,从而完成

    min_(x,y) max_i |x−aᵢ| + |y−bᵢ|

    的求解。

  • 这里其实就是完成了8个函数向量

相关推荐
老鱼说AI4 天前
从点积到希尔伯特空间:向量内积的几何本质与大模型相似度度量
人工智能·深度学习·线性代数·算法·机器学习·数学建模
蒲公英eric4 天前
数学建模全流程:从一道题到一篇论文
人工智能·数学建模·数学建模竞赛·论文写作·建模流程
蒲公英eric4 天前
近年数学建模出题趋势:数模在往哪走
人工智能·数学建模·数学建模竞赛·论文写作·建模流程·数模趋势
统计学小王子4 天前
华为杯倒计时4天——《如何使用AI分工》
数学建模·倒计时·华为杯
热心网友俣先生5 天前
2026年高教社杯全国大学生数学建模竞赛A题《药材的烘干问题》某中等强度赛区评阅细则
数学建模
热心网友俣先生5 天前
2026年华为杯研赛焚诀3:评分要点与评阅细节
数学建模
统计学小王子5 天前
华为杯倒计时5天——《AI使用说明详解》
数学建模
统计学小王子7 天前
数学建模十万个为什么(一)
经验分享·数学建模
kaixin_啊啊7 天前
中国研究生数学建模竞赛(华为杯)学习笔记——AI绘图方法
人工智能·笔记·学习·数学建模
lisw058 天前
函数的概述与其几种基本性质!
数学建模