村镇小学最佳选址问题Python求解
一、问题描述
最佳选址问题的
Python
求解
团结乡有8
个村镇,各村镇位置坐标
及学生人数
如下表所示。
村镇代号 |
坐标位置 | 小学生人数 |
|
---|---|---|---|
x | y | ||
1 | 0 | 0 | 60 |
2 | 10 | 3 | 80 |
3 | 12 | 15 | 100 |
4 | 14 | 13 | 120 |
5 | 16 | 9 | 80 |
6 | 18 | 6 | 60 |
7 | 8 | 12 | 40 |
8 | 6 | 10 | 80 |
考虑到学校的规模效益,拟选其中两个
村镇各建一所小学
。问两所小学各建于何处,使小学生上学所走路程
为最短
(小学生所走路程按两村镇之间的欧式距离
计算)。
二、源代码
# -*- coding: utf-8 -*-
import math #导入math模块
sqrt = math.sqrt #运算两点之间距离
from queue import Queue #导入队列的模块
q = Queue(maxsize=0) #初始化空队列
x = [0,10,12,14,16,18,8,6] #各点的横坐标
y =