Theo Cơ quan năng lượng quốc tế [54], khí phát thải và nhiên liệu tiêu thụ của các phương tiện giao thông có quan hệ tỷ lệ thuận nên có thể sử dụng tiêu chí tối ưu về tổng khí thải và nhiên liệu tiêu thụ làm hàm mục tiêu.
Theo Dijkstra [64], các bước của thuật toán Dijkstra như sau:
Gọi:
L[u,v] – là chiều dài tuyến đường nối từ điểm u đến điểm v (km)
S[u,v] – là vận tốc trung bình khi di chuyển trên tuyến đường nối từ điểm u đến
điểm v (km/h)
Ở mỗi điểm v, thuật toán Dijkstra xác định 3 thông tin: chonv, Dv và truocv.
Chonv - mang giá trị true hoặc false để xác định trạng thái được chọn của điểm v.
Khởi tạo tất cả các điểm v chưa được chọn, nghĩa là: chonv = false, v V.
điểm a đến điểm v. Khởi tạo, Dv ;vV \ a ,Da 0
Truocv - là điểm trước của điểm v trên đường đi tối ưu về nhiên liệu và khí thải khi đi từ a đến z.
Đường đi tối ưu về nhiên liệu và khí thải từ a đến z có dạng a,...,truoca,v,...,z
Khởi tạo, truocv = null, v V.
Bước 1. Khởi tạo: Đặt chonv= false vV;Dv ;vV\ a ,Da 0
Bước 2.Chọn v V sao cho chonv = false và Dv minDt/tV,chont false
Nếu Dv = thì kết thúc, không tồn tại đường đi từ a đến z.
Bước 3. Đánh dấu điểm v, chonv= true.
Bước 4.Nếu v = z thì kết thúc và Dzlà tổng khí thải và nhiên liệu tiêu thụ ít nhất khi
đi từ a đến z.
Ngược lại nếu v z sang Bước 5.
Bước 5.Với mỗi điểm v kề với u mà chonv = false, kiểm tra
Nếu Dv > Du + L(u,v).[518,257 – 8,88657.S(u,v)+ 0,059146.S(u,v)2] thì Dv= Du + L(u,v).[518,257 – 8,88657.S(u,v)+ 0,059146.S(u,v)2]
Ghi nhớ điểm v: truocv= u. Quay lại Bước 2.
Trong đó: 518,257 – 8,88657.V+ 0,059146.V2 là phương trình tính tổng khí thải và
tiêu thụ nhiên liệu quy đổi sang CO2(gCO2/km) của ô tô con theo mô hình Copert III
khi xe di chuyển với vận tốc trung bình V (km/h).