ai: 1 4 3 5 9 12 6 20 17 8
bi: 2 10 8 18 1 4 5 10 8 9
设供应中心的位置为(x,y ),要求它到最远需求点的距离尽可能小,由于此处应采用沿道路行走的距离,可知用户Pi 到该中心的距离为|x-ai|+|y-bi|,从而可得目标函数如下
??????-+-≤≤|]||[|max min 1,i i m
i y x b y a x
约束条件为 ???????≤≥≤≥85
85y y x x
首先编写一个计算x 处10个目标函数的M 文件opt27_2o.m 。
function f = myfun(x)
%输入各个点的坐标值
a=[1 4 3 5 9 12 6 20 17 8];
b=[2 10 8 18 1 4 5 10 8 9];
f(1) = abs(x(1)-a(1))+abs(x(2)-b(1));
f(2) = abs(x(1)-a(2))+abs(x(2)-b(2));
f(3) = abs(x(1)-a(3))+abs(x(2)-b(3));
f(4) = abs(x(1)-a(4))+abs(x(2)-b(4));
f(5) = abs(x(1)-a(5))+abs(x(2)-b(5));
f(6) = abs(x(1)-a(6))+abs(x(2)-b(6));
f(7) = abs(x(1)-a(7))+abs(x(2)-b(7));
f(8) = abs(x(1)-a(8))+abs(x(2)-b(8));
f(9) = abs(x(1)-a(9))+abs(x(2)-b(9));
f(10) = abs(x(1)-a(10))+abs(x(2)-b(10));
然后输入初值、约束条件并调用优化过程进行计算(M 文件为opt27_2.m):
x0 = [6; 6]; % 提供解的初值
AA=[-1 0
1 0
0 –1
0 1];
bb=[-5;8;-5;8];
[x,fval] = fminimax(@opt27_2o,x0,AA,bb)
计算结果为:
x =
8
8
fval =
13 6 5 13 8 8 5 14 9 1
可见,在限制区域内的东北角设置供应中心可以使该点到各需求点的最大距离最小。最