消防站选址问题(数学建模)十二个地点中,选三个地点,每个点上-查字典问答网
分类选择

来自田立伟的问题

  消防站选址问题(数学建模)十二个地点中,选三个地点,每个点上还有权.要求,十二个点到这个三个点的加权距离最短.距离矩阵v1v2v3v4v5v6v7v8v9v10v11v12v101537452460183348405867v2150

  消防站选址问题(数学建模)

  十二个地点中,选三个地点,每个点上还有权.要求,十二个点到这个三个点的加权距离最短.

  距离矩阵

  v1v2v3v4v5v6v7v8v9v10v11v12

  v101537452460183348405867

  v215022403852334842556161

  v337220181630432820583939

  v445401803412614624624334

  v524381634036271224494343

  v660523012360574212503122

  v718334361275701545224061

  v833482846124215030372546

  v948422024241245300381919

  v1040555862495022373801940

  v1158613943433140251919021

  v1267613934432261461940210

  权

  w115

  w210

  w312

  w418

  w55

  w624

  w711

  w816

  w913

  w1022

  w1119

  w1220

  对于选三个点,我想应该是,选每个点到这三个点的距离选最短的作为该点距离,再乘以权重,最后使加权的总距离最小.

  上面的思路对不对,如果对的话,我能不能不用穷举的方法来解决这个问题?如果有,请不吝赐教,

5回答
2020-05-2919:17
我要回答
提示:回答问题需要登录哦!
付英杰

  你的思路是可行的.用lingo数学优化软件,建立的模型代码:

  model:

  sets:

  PL/1..12/:w,T;!T为决策变量,T(i)=1表示i点选择;

  DS(PL,PL):d;

  endsets

  data:

  w=15101218524111613221920;

  d=01537452460183348405867

  15022403852334842556161

  37220181630432820583939

  45401803412614624624334

  24381634036271224494343

  60523012360574212503122

  18334361275701545224061

  33482846124215030372546

  48422024241245300381919

  40555862495022373801940

  58613943433140251919021

  67613934432261461940210;

  enddata

  min=@sum(PL(i):w(i)*@sum(PL(j):w(j)*d(i,j)*T(i)));!我认为加权值应为w1*w2*d12;

  @for(PL:@bin(T));

  @sum(PL:T)=3;

  end

  运行结果是:

  加权最短距离是162380;

  选择的3个点是v3、v5、v9.

2020-05-29 19:19:54
田立伟

  您认为加权值应为w1*w2*d12,能不能具体解释一下?

2020-05-29 19:24:02
付英杰

  按你的意思加权距离应当如何理解,如果选择v1点,那么v1到v2的加权距离,是w1*d12吗?我认为这样不妥。

2020-05-29 19:28:46
田立伟

  我的想法是:如果选择v1点,那么v1到v2的加权距离是w2*d12,不知道为什么还要乘以一个w1?

2020-05-29 19:31:09
付英杰

  那程序需要改动一句话:min=@sum(PL(i):@sum(PL(j):w(j)*d(i,j)*T(i)));运行结果为:加权最短距离是16138;选择的3个点是v6、v9、v11。

2020-05-29 19:35:45
大家都在问
最新问答