P中值选址问题的整数规划求解
P中值选址问题的整数规划求解
一 、P-中值问题
p-中值选址问题是一个常见的选址问题. 问题是给定I个需求结点和J个待选设施地点, 要求选择p个地点建立设施, 使得运输成本最低. 下面是个英文的问题详细描述:

二、整数规划模型
p-中值选址问题的整数规划模型如下



三、当给定距离时候的求解
假设给定了设施-需求之间的距离矩阵,照着上面的模型即可写出Leapms模型。
//==========================================================
//The P-Median Problem
//==========================================================
min sum{j=,...,J;i=,...,I}h[i]d[i][j]y[i][j]
subject to
sum{j=,...,J}y[i][j]=|i=,...,I
y[i][j]-x[j]<=|i=,...,I;j=,...,J
sum{j=,...,J}x[j]=p
where
I,J are numbers
p is a number
h is a set
d[i][j] is a number | i=,...,I;j=,...,J
x[j] is a variable of binary|j=,...,J
y[i][j] is a variable of binary|i=,...,I;j=,...,J data
I=
J=
p=
h={3.1,2.2,4.3,5.0,7.1,8.0,9.9,3.4,4.3,3.3}
d={ }
把上面的模型保存为pemedian1.leap
在leapms中求解: 依次输入load, pmedian1, mip即可求解

。。。 。。。

四、当给定设施和需求点坐标时候的求解
与上面类似,不过设施和需求点的距离需要用data_relation 段用公式表达出来,leapms表达的模型如下
//==========================================================
//The P-Median Problem
//==========================================================
min sum{j=1,...,J;i=1,...,I}h[i]d[i][j]y[i][j] subject to sum{j=1,...,J}y[i][j]=1|i=1,...,I
y[i][j]-x[j]<=0|i=1,...,I;j=1,...,J
sum{j=1,...,J}x[j]=p where
I,J are numbers
p is a number
h is a set cdx1[i],cdy1[i] are numbers|i=1,...,I
cdx2[j],cdy2[j] are numbers|j=1,...,J d[i][j] is a number | i=1,...,I;j=1,...,J
x[j] is a variable of binary|j=1,...,J
y[i][j] is a variable of binary|i=1,...,I;j=1,...,J data_relation d[i][j]=sqrt((cdx1[i]-cdx2[j])^2+(cdy1[i]-cdy2[j])^2)|-->
i=1,...,I;j=1,...,J
data
I=10
J=10 p=6
h={3.1, 2.2, 4.3, 5.0, 7.1, 8.0, 9.9, 3.4, 4.3, 3.3} cdx1={-9.7, 8.8,8.3,7.1,-6.8, 6.7,-5.8,0.7,7 , -6 }
cdy1={-8.3,-1.9,-0.1,-3, 4 , -4.1, 4.4,2.5,4.4, 8.8} cdx2={-1.9,-8.3,2.5,0.8,-2.2, 4.1,-1.2,9.2,-0.9,1}
cdy2={-6.6,-0.9,1 ,8.2, 0.5,-8.9,-2.2,9.5,-4 ,6}
把上面的模型保存为pemedian2.leap
在leapms中求解: 依次输入load, pmedian2, mip即可求解


P中值选址问题的整数规划求解的更多相关文章
- OpenCV计算机视觉学习(4)——图像平滑处理(均值滤波,高斯滤波,中值滤波,双边滤波)
如果需要处理的原图及代码,请移步小编的GitHub地址 传送门:请点击我 如果点击有误:https://github.com/LeBron-Jian/ComputerVisionPractice &q ...
- 学习 opencv---(8)非线性滤波:中值滤波,双边滤波
正如我们上一篇文章中讲到的,线性滤波可以实现很多种不同的图像变换.然而非线性滤波,如中值滤波器和双边滤波器,有时可以达到更好的实现效果. 邻域算子的其他一些例子还有对 二值图像进行操作的形态学算子,用 ...
- js 实时监听input中值变化
注意:用到了jquery需要引入jquery.min.js. 需求: 1.每个地方需要分别打分,总分为100; 2.第一个打分总分为40; 3.第二个打分总分为60. 注意:需要判断null.&quo ...
- Atitit 图像处理 平滑 也称 模糊, 归一化块滤波、高斯滤波、中值滤波、双边滤波)
Atitit 图像处理 平滑 也称 模糊, 归一化块滤波.高斯滤波.中值滤波.双边滤波) 是一项简单且使用频率很高的图像处理方法 用途 去噪 去雾 各种线性滤波器对图像进行平滑处理,相关OpenC ...
- 平均值mean,众数mode,中值median 和 标准差stddev
平均值mean,众数mode,中值median 和 标准差stddev 均值,众数,中位数,标称差: 均值是就全部数据计算的,它具有优良的数学性质,是实际中应用最广泛的集中趋势测度值.其主要缺点是易受 ...
- OpenCv高斯,中值,均值,双边滤波
#include "cv.h" #include "highgui.h" #include <iostream> using namespace s ...
- opencv实现图像邻域均值滤波、中值滤波、高斯滤波
void CCVMFCView::OnBlurSmooth()//邻域均值滤波 { IplImage* in; in = workImg; IplImage* out = cvCreateImage( ...
- 中值排序的java实现
public class MidSort { public static void main(String[] args){ ,,,,,,,,}; midSort(arr,,); for(int i: ...
- java中值类型和引用类型的区别
[定义] 引用类型表示你操作的数据是同一个,也就是说当你传一个参数给另一个方法时,你在另一个方法中改变这个变量的值,那么调用这个方法是传入的变量的值也将改变. 值类型表示复制一个当前变量传给方法,当你 ...
随机推荐
- Android OkHttp + Retrofit 下载文件与进度监听
本文链接 下载文件是一个比较常见的需求.给定一个url,我们可以使用URLConnection下载文件. 使用OkHttp也可以通过流来下载文件. 给OkHttp中添加拦截器,即可实现下载进度的监听功 ...
- java零碎知识(每种数据类型默认值,多大,取值范围)
只要记下字节就好了 其它不必死记,取值范围:没有正负的,2的 字节数*8次方-1 , 凡是有正负的2的 (字节数*8)-1次方 -1 比如: 1.byte(有正负):先计算是2的几次方:字节数1*( ...
- 使用ipython %matplotlib inline
首先讲讲这句话的作用,matplotlib是最著名的Python图表绘制扩展库,它支持输出多种格式的图形图像,并且可以使用多种GUI界面库交互式地显示图表.使用%matplotlib命令可以将matp ...
- django创建表单以及表单数据类型和属性
08.15自我总结 关于django的表单不同关系之间的创建 一.不同关系之间的创建 1.一对一 举例 母表:userinfo id name age 1 张三 12 2 李四 58 字表:priva ...
- 网站开发常用Sql语句
维护网站,经常操作数据库,使用sql语句可以达到事半功倍的效果.比如,把所有密码为空的教师初始设成id一致,sql语句比手动快万倍. 下面介绍数据库开发中经常用到的一些sql语句: 一 建库操作 1. ...
- POJ2828 Buy Tickets 树状数组
Description Railway tickets were difficult to buy around the Lunar New Year in China, so we must get ...
- CSP考场Emacs使用指南[原创]
前言: 据说,CSP考试,之后不再支持windows了呢. windows用户真得劲! 那用什么系统? Ubuntu上场了 Ubuntu编译指南 进入Ubuntu系统,在你想存的文件夹中新建一个空白文 ...
- 打python&adb组合拳,实现微信读书永久免费读
用过“微信读书”的朋友都知道,如果我们想阅读全本的付费书籍,除了购买整本(使用书币)外,还可以使用无限卡.可无论是购买全书还是无限卡,归根结底都是要花银子的. 除此之外,还有一种方式——用阅读时长兑换 ...
- kubectl get 后按2次tab键命令补全的失效原因分析
kubectl get 后按2次tab键命令补全的失效原因分析 2019/10/28 Chenxin a.bash客户端工具 在centos用户下, cd ~;echo "source &l ...
- 关于M23内核简介 - 待续
1.定位 M23是基于最新的ARMv8-M构架的主要关注低功耗应用的微控制器,未来会是M0.M0+的替代品. M33是基于最新的ARMv8-M构架的主要关注高能效应用的微控制器,未来会替换M3.M4. ...