線性規劃之飛機航班調度問題

線性規劃之飛機航班調度問題

1.Problem : Airplane Landing Problem

With human lives at stake, an air traffic controller has to schedule the airplanes that are landing at an airport in order to avoid airplane collision. Each airplane i has a time window[si,ti] during which it can safely land. You must compute the exact time of landing for each airplane that respects these time windows. Furthermore, the airplane landings should be stretched out as much as possible so that the minimum time gap between successive landings is as large as possible.
For example, if the time window of landing three airplanes are [10:0011:00],[11:2011:40],[12:0012:20] , and they land at 10:00, 11:20, 12:20 respectively, then the smallest gap is 60 minutes, which occurs between the last two airplanes.
Given n time windows, denoted as[s1,t1],[s2,t2],,[sn,tn] satisfying s1<t1<s2<t2<<sn<tn , you are required to give the exact landing time of each airplane, in which the smallest gap between successive landings is maximized.
Please formulate this problem as an LP, construct an instance and use GLPK or Gurobi or other similar tools to solve it.

2.建立線性規劃公式

這裏寫圖片描述

3.具體實際問題

4個飛機,其時間窗口分別是[9:00-9:30] ,[10:00-11:00], [11:15-11:30], [12:00-12:15].
我們使用GLPK求解器求解:

var x1>=0;
var x2>=0;
var x3>=0;
var x4>=0;
var d>=0;

maximize z:d;

s.t. con1:x1-x2+d<=0;
s.t. con2:x2-x3+d<=0;
s.t. con3:x3-x4+d<=0;
s.t. con4:x1<=9.5;
s.t. con5:-x1<=-9;
s.t. con6:x2<=11;
s.t. con7:-x2<=-10;
s.t. con8:x3<=11.5;
s.t. con9:-x3<=-11.25;
s.t. con10:x4<=12.25;
s.t. con11:-x4<=-12;
end;

求解結果如下;
這裏寫圖片描述
這裏寫圖片描述

從求解器輸出結果我們可以知道,最優解
d=1 ,在x1=9,x2=10,x3=11.25,x4=12.25 時取得 (這裏的數據爲時間的10進製表出)

發佈了61 篇原創文章 · 獲贊 49 · 訪問量 15萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章