物流中的獨立節點路由試算

2021-09-24 22:02:03 字數 1726 閱讀 2138

參考

知網 某碩士**:宅急送路由輔助資訊系統的設計與實現

試算邏輯為::

a.  根據選擇的出發地找到所有從當前出發地發車的資源包括航空、班車和

零擔存放到 map(起名 map1)裡備用。 

b.  迴圈遍歷 map1,迴圈體裡再用資源的到達城市作為出發城市繼續執行 a

的操作將資源存放到 map2 裡,並且與 map1 裡的資料進行拼接 

c.  如果在執行拼接的過程中資源的到達城市跟是介面錄入的到達城市相

同,將結果放入 map(起名 mapresult),否則繼續拼接執行 b 的操作。  

d.  最多執行 5 次 b 步驟。滿足最多中轉 4 次的要求,或者也可以按照介面

的要求控制次數。 

e.  對 mapresult 的結果執行過濾,保留優質的路由。 

f.  最終將剩下的路由儲存到系統。

具體**實現如下:

ssm下的測試**

測試方法**

@test

routebill routebill = new routebill();

routebill.setstartcity("北京市");

routebill.setendcity("湛江市");

listresults=new arraylist<>();

trial(findbystartcity, routebill, results);

for (iterator iterator = results.iterator(); iterator.hasnext();)

}

試算的實現,乙個迭代的演算法

public  void  trial(liststartline,routebill result,listresults)

result2.setrouteprice(routelinebill.getlineprice()+result2.getrouteprice());

result2.setmileage(routelinebill.getmileage()+result2.getmileage());

result2.setsumduration(routelinebill.getduration()+result2.getsumduration());

result2.getroutelinebills().add(routelinebill);

//如果終點一致就存起來繼續下乙個遍歷

if (routelinebill.getendstation().equals(result2.getendcity()))

//不一致就存到中轉站中

if (result2.gettransfernode1()==null) else if (result2.gettransfernode2()==null) else if (result2.gettransfernode3()==null) else if (result2.gettransfernode4()==null) else

listfindbystartcity = routelinebillservice.findbystartcity(routelinebill.getendstation());

if (findbystartcity == null)

trial(findbystartcity, result2, results);

} }

快成物流 在智慧型物流的新賽道中 「奔跑」

by 嘉文 凌晨五點,迎著朝霞,檢查貨物,出發上路 貨車司機老李就這樣開始了新一天的工作,似乎今天和昨天也沒有什麼不同,只是更加忙碌的一天,路上依然枯燥 乏味 勞累 身心疲憊活成了生活常態,這也幾乎是每一位貨車司機日復一日的真實生活寫照。以前,錢是真難賺啊,每一分錢都是用命換來的,有時候好不容易拉到...

Oracle中獨立事務的學習

1 建立儲存過程emp p2,查詢id為0的雇員的資訊,並回滾事務 create or replace procedure emp p2 as a varchar2 50 begin select e.name into a from employees e where e.id 0 dbms ou...

JS中的節點

var tab document.getelementbyid tab var box document.getelementbyid box console.dir tab 節點型別 nodetype nodename nodevalue 元素節點 1大寫的標籤名 null 文字節點 3 text...