最大最小化模型

前言

在对策论中,我们常遇到这样的问题:在最不利的条件下,寻求最有利的策略.在实际问题中也有许多求最大值的最小化问题,例如急救中心选址问题就是要规划其到所有地点最大距离的最小值,在投资规划中要确定最大风险的最低限度等。
本章会通过介绍选址问题,来介绍最大最小化模型

一、最大最小化问题的一般数学模型

二、问题提出

三、模型建立

1.建立目标函数

由于题目中解释了坐标轴彼此平行与正交,因此我们的距离应该用曼哈顿距离表示

2.建立约束

四、代码实现

1.fminimax函数

[x,feval] = fminimax(@Fun,x0,b,Aeq,beq,lb,ub,@nolfun,option)
此函数用于求解最大最小化模型,其中,目标函数的首字母F进行了大写,说明其与我们之前讲的规划问题有稍许区别,其为一个向量,这个向量其实就是表示我们目标函数的值。
其余的参数没有区别
返回的x是我们的决策变量,返回的feval是一个向量,这个向量是取决策变量取x时,对应每个目标函数的值。

2.输入目标函数

目标函数是一个向量,分别表示着需求点与供应点的曼哈顿距离

function f = Fun(x)
    a=[1 4 3 5 9 12 6 20 17 8];
    b=[2 10 8 18 1 4 5 10 8 9];
    %  函数向量
    f=zeros(10,1);
    for i = 1:10
        f(i) = abs(x(1)-a(i))+abs(x(2)-b(i));  
    end
end 

3.进行求解

返回的feval是一个向量,分别表示着需求点与供应点的曼哈顿距离,我们利用max函数提取其中的最大值,就可以得到供应点与需求点的最大距离,在这个结果下,这个距离是最小的

x0 = [6, 6];      % 给定初始值
lb = [3, 4];  % 决策变量的下界
ub = [8, 10];  % 决策变量的上界
[x,feval] = fminimax(@Fun,x0,[],[],[],[],lb,ub)
max(feval)
posted @ 2024-08-14 18:09  卢宇博  阅读(81)  评论(0编辑  收藏  举报