java 路径规划_基于C-W节约算法的车辆路径规划问题的Java实现

1 packagevrp;2

3 importjava.io.BufferedReader;4 importjava.io.File;5 importjava.io.FileNotFoundException;6 importjava.io.FileReader;7 importjava.io.IOException;8 importjava.util.ArrayList;9 importjava.util.Arrays;10 importjava.util.Collections;11 importjava.util.Comparator;12 importjava.util.LinkedList;13 importjava.util.List;14

15 /**

16 *@author陈海越17 *@version1.018 *@since新标准版5.019 *20 *

21 * 历史:22 *      建立: 2019/9/2 陈海越23 *        
24 */

25 public classVRPTest {26

27 public static final String KONGGE = "\\s+|\r";28 public static final int FACTOR = 1;29 private intvehicleNumber;30 private inttotalPointNumber;31 private LinkedList vehicleCapacityList = new LinkedList<>();32 private LinkedList usedVehicleList = new LinkedList<>();33 private List postOfficeList = new ArrayList<>();34 private List routeList = new ArrayList<>();35 private float[][] distMatrix;36 private List savingList = new ArrayList<>();37

38

39 public static void main(String[] args) throwsException {40 VRPTest vrpTest = newVRPTest();41 vrpTest.readFromFile("C:\\Users\\Administrator\\Documents\\vrp_data\\test3.txt");42 vrpTest.vrp();43 }44

45 /**

46 * 从文件中读取数据47 */

48 public voidreadFromFile(String fileName) {49 File file = newFile(fileName);50 try{51 BufferedReader br = new BufferedReader(newFileReader(52 file));53 constructGeneral(br);54 constructVehicle(br);55 constructNodes(br);56 } catch(FileNotFoundException e) {57 e.printStackTrace();58 } catch(IOException e) {59 e.printStackTrace();60 }61 }62

63 private void constructGeneral(BufferedReader br) throwsIOException {64 String first =br.readLine().trim();65 String[] firstLineArr =first.split(KONGGE);66 vehicleNumber = Integer.parseInt(firstLineArr[0]);67 totalPointNumber = Integer.parseInt(firstLineArr[1]);68 }69

70 private void constructVehicle(BufferedReader br) throwsIOException {71 String vehicleCapacity =br.readLine().trim();72 for(String s : vehicleCapacity.split(KONGGE)) {73 vehicleCapacityList.add(Float.parseFloat(s));74 }75 }76

77 private void constructNodes(BufferedReader br) throwsIOException {78 for (int i = 0; i < totalPointNumber; i++) {79 String postStr =br.readLine().trim();80 String[] postArr =postStr.split(KONGGE);81 PostOffice postOffice =

82 new PostOffice(Integer.parseInt(postArr[0]), postArr[1],83 Float.parseFloat(postArr[2]),84 Float.p

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值