matlab中fminimax_matlab多元拟合

(73) 2024-08-08 16:01:01

设某城市有某种物品的10个需求点,第i个需求点Pi的坐标为(ai,bi),道路网与坐标轴平行,彼此正交。现打算建一个该物品的供应中心,且由于受到城市某些条件的限制,该供应中心只能设在x界于[5,8],y界于[5.8]的范围之内。问该中心应建在何处为好?

P点的坐标为:

ai

1

4

3

5

9

12

6

20

17

8

bi

2

10

8

18

1

4

5

10

8

9

解:设供应中心的位置为(x,y),要求它到最远需求点的距离尽可能小,此处采用沿道路行走计算距离(如图8-1),则数学模型为:

matlab中fminimax_matlab多元拟合 (https://mushiming.com/)  第1张

matlab中fminimax_matlab多元拟合 (https://mushiming.com/)  第2张

图8-1供应中心到需求点的行走路线图

用MATLAB的fminimax函数进行求解

fun011.m

function f=fun011(x)

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

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

str=[repmat(‘   (‘,10,1) num2str(m‘)  num2str(n‘) repmat(‘)‘,10,1)];

plot(m,n,‘o‘)

text(m,n,cellstr(str))

hold on

for i=1:10

f(i)=abs(x(1)-m(i))+abs(x(2)-n(i));

end

主函数

fun011yunxing.m

clc

tic

x0=[6;6];

A=[-1 0;1 0;0 -1;0 1];

b=[-5;8;-5;8];

lb=[0;0];

ub=[];

[x,fva,maxfval,exitflag,output]=fminimax(@fun011,x0,A,b,[],[],lb,ub)

plot(x(1),x(2),‘r *‘)

toc

解得:

x =

8

8

fva =

13     6     5    13     8     8     5    14     9     1

maxfval =

14

exitflag =

4

output =

iterations: 3

funcCount: 14

……

时间已过 0.秒。

求解的同时我们用图8-2描述了该问题,*点就是所求点。且最小的最大供应距离14为从供应中心(8,8)到需求点(20,10)的距离。

matlab中fminimax_matlab多元拟合 (https://mushiming.com/)  第3张

图 8-2需求点及供应中心

版权声明:本文为博主原创文章,未经博主允许不得转载。

原文:http://blog.csdn.net/lzx/article/details/

THE END

发表回复