利用lingo如何做排列组合问题?例如 :有20个人和20个地点,各地点距离不同每个人在一个地方 ,现在要20个人去5个地点,每人仅去一个地点,目标要求 20个人所走路程总和最小.

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/09 09:10:11
利用lingo如何做排列组合问题?例如 :有20个人和20个地点,各地点距离不同每个人在一个地方 ,现在要20个人去5个地点,每人仅去一个地点,目标要求 20个人所走路程总和最小.

利用lingo如何做排列组合问题?例如 :有20个人和20个地点,各地点距离不同每个人在一个地方 ,现在要20个人去5个地点,每人仅去一个地点,目标要求 20个人所走路程总和最小.
利用lingo如何做排列组合问题?
例如 :有20个人和20个地点,各地点距离不同每个人在一个地方 ,现在要20个人去5个地点,每人仅去一个地点,目标要求 20个人所走路程总和最小.

利用lingo如何做排列组合问题?例如 :有20个人和20个地点,各地点距离不同每个人在一个地方 ,现在要20个人去5个地点,每人仅去一个地点,目标要求 20个人所走路程总和最小.
先求出要去的5个地点到所有20个地点的最短路径
余下的就是一个01规划问题,可以用Lingo求解
xij = 0 表示第j个人不去第i个地点
xij = 1 表示第j个人去第i个地点
目标函数:∑(i=1..5)∑(j=1..20)Aij * xij
约束条件:∑(i=1..5)xij = 1 (j = 1..20)
∑(j=1..20)xij = 1 (i = 1..5)
xij = 0 or 1 (i = 1..5,j = 1..20)