|
小弟我在作毕业设计时遇到一个算法编码问题,不知哪位高手可帮帮忙?
3.1.2节约算法
节约 算 法 又称C-W 算法,是由Clarke和Wright于1964年首次提出的。它的基本思想是首先把各点单独与源点0(车场)相连,构成1条仅含一个点的线路。总费用为两倍的从原点到各点的距离的费用 。然后计算将点i和j连接在一条线路上费用的“节约值”: S(i,j)=c0i+ ci0+ c0j+ cj0-(c0i+ cij+ cj0)= c0i+ c0j-cij
S(i,j) 越大,说明把i和i连接在一起时总路程减少越多。构造线路时,根据S(i,j) 从大到小的顺序进行,实现时可在表上操作,具体步骤如下:
Step1: 计算节约值S(i,j) ,并按从大到小顺序排列成表格形式;
Step2:考察表格中最大元素S(i,j) 对应的点i和点j,检查是否满足下列条件:
(1)若 点 i 和点j均不在己构成的线路上,则可连接点i和点j,得到线路段0->i->j->0,转步骤Step3;
(2)若 点 i 或点j在已构成的线路上,但不是线路的内点(即不与源点0直接相连),则可以连接,连接后得到线路段 ,转步骤Step3;
(3)若 点 i 和点j位于己构成的不同线路上,且均不是内点,则后的得到线路段 ,转步骤Step3;
(4)若 点 i和 点j位于已构成的同一条线路上,则不能再进行连接,转步骤Step3;
Step3:划去第i行和第j列,即i点不能再到其他点,而j点也不能由其他点到达;
Step4:若所有元素均被划去,则己得到完整线路,算法终止;否则,在没被划去的元素中选择最大元素,转步骤Step2。
我们马上交毕业论文了,我还没做出来代码,我好急!急!!望好心的大哥大姐们帮忙!! 小弟我万分感谢!!!谢谢
我的邮箱地址是 : shuang_2000@tom.com QQ:59096727
|
|