3.3. Dynamic programming
The dynamic programming approach for VRPTW is presented
for the first time in Kolen et al. (1987) and Christofides and
Beasley (1984) are uses the dynamic programming paradigm
to solve the VRP.
The algorithm of Kohl and Madsen (1997) use branch-andbound
to achieve optimality. Each node a in the branch-andbound
tree corresponds to three sets: F(a) which the set is of
fixed feasible routes starting and finishing at the depot, P(a)
which is a partially build route starting at the depot and
C(a) denotes the set of customers forbidden to be next on P(a).
Branching is done by selecting a customer i that is not forbidden,
that is iC(a), and that does not appear on any route,
that is iF(a) [ P(a). Branching decisions are taken on routecustomer
allocations. Then two branches are generated: one
in which the partially build route P(a) is extended by i and
one where i is forbidden as the next customer on the route that
is added to C(a). Customer i is chosen as the customer the partial
route P(a) was extended with in the calculation that lead to
the lower bound of node a. At each branch-and-bound node
dynamic programming is used to calculate a lower bound on
all feasible solution defined by F(a), P(a) and C(a).
First we discuss the case of the root node (F(a) = /,
C(a) = / and P(a) = depot). Here we construct a directed
graph with vertices v(i, q, k) for i = 0, 1, ..., n; q = 0, 1, ..., Q
and k = 0, 1, ..., m, where n is the number of customers, m is
the number of vehicles and Q is the sum of all customer demands
qi. Hence, associated with each branch-and-bound node is a set
of routes.
A directed path from v(0, 0, 0) to v(i, q, k) in the graph corresponds
to a set of k routes with a total load of q and with
different last visited customers (each one in{1, 2, ..., i}). The
arc lengths in the directed graph will be defined as the total
3.3. ภาษาศาสตร์นำเสนอวิธีการเขียนโปรแกรมแบบไดนามิกสำหรับ VRPTWครั้งแรกใน Christofides และ Kolen et al. (1987) และBeasley (1984) ได้ใช้กระบวนทัศน์การเขียนโปรแกรมแบบไดนามิกการแก้ศูนย์อัลกอริทึมของอายและแมดเซน (1997) ใช้ andbound สาขาเพื่อให้บรรลุ optimality แต่ละโหนตัวในสาขา-andboundต้นไม้ตรงกับสามชุด: F(a) ซึ่งเป็นชุดของเส้นทางที่เป็นไปได้คงเริ่ม และจบที่ depot, P(a)ซึ่งเป็นเส้นทางสร้างบางส่วนเริ่มต้นที่เดือน และC(a) หมายถึงชุดของลูกค้าห้ามจะไปบน P(a)แยกจะทำ โดยการเลือกลูกค้าผมที่จะห้ามที่ iC(a) และที่ไม่ปรากฏบนทุกเส้นทางที่อยู่ [P(a) iF(a) คือถ่ายโยงหัวข้อตัดสินใจใน routecustomerการปันส่วน จาก นั้นสร้างขึ้นสองสาขา: หนึ่งในที่ บางส่วนสร้างเส้นทาง P(a) จะขยายโดยผม และหนึ่งที่จะต้องห้ามที่เป็นลูกค้าต่อไปบนเส้นทางที่ถูกเพิ่มเข้าไป C(a) ฉันได้เลือกลูกค้าลูกค้าบางส่วนเส้นทาง P(a) ออกกับการคำนวณที่นำไปสู่ขอบล่างของโหน ในแต่ละสาขา และผูกกับโหนเขียนโปรแกรมแบบไดนามิกที่ถูกใช้เพื่อคำนวณขอบต่ำบนโซลูชันกระทำทั้งหมดที่กำหนด โดย F(a), P(a) และ C(a)ครั้งแรก เราหารือกรณีของโหนดราก (F(a) =/,C(a) = / และ P(a) = depot) ที่นี่เราสร้างที่ระบุโดยตรงกราฟที่ มีจุดยอด v (ผม q, k) สำหรับ i = 0, 1,..., n q = 0, 1,..., Qและ k = 0, 1,..., m ซึ่ง n คือ จำนวนของลูกค้า m คือจำนวนยานพาหนะและ Q เป็นผลรวมของความต้องการของลูกค้าทั้งหมดฉี ด้วยเหตุนี้ เกี่ยวข้องกับแต่ละโหนสาขา และผูกเป็นชุดของเส้นทางตรงเส้นทางโดยตรงจาก v (0, 0, 0) กับ v (ผม q, k) ในกราฟชุดของเส้นทาง k รวมโหลด ของ q และสุดท้ายแตกต่างกันไปเยี่ยมลูกค้า (แต่ละคนใน { 1, 2,..., ฉัน}) การความยาวส่วนโค้งในกราฟโดยตรงจะถูกกำหนดเป็นผลรวม
การแปล กรุณารอสักครู่..

3.3 การเขียนโปรแกรมแบบไดนามิก
วิธีการเขียนโปรแกรมแบบไดนามิกสำหรับ VRPTW จะนำเสนอ
เป็นครั้งแรกใน Kolen et al, (1987) และ Christofides และ
บีสลีย์ (1984) จะใช้กระบวนทัศน์การเขียนโปรแกรมแบบไดนามิก
ในการแก้ VRP.
อัลกอริทึมของตาและเซน (1997) ใช้สาขา andbound
เพื่อให้บรรลุ optimality แต่ละโหนดในสาขา andbound
ต้นไม้สอดคล้องกับสามชุด: F (ก) ซึ่งชุดนี้เป็นของ
เส้นทางที่เป็นไปได้คงที่เริ่มต้นและจบที่สถานีรถไฟ, P (ก)
ซึ่งเป็นเพียงบางส่วนสร้างเส้นทางเริ่มต้นที่สถานีรถไฟและ
C ( ก) หมายถึงชุดของลูกค้าที่ต้องห้ามที่จะเป็นไปใน P (ก). the
กิ่งจะทำโดยการเลือกลูกค้าผมที่ไม่ได้ห้ามไม่ให้
ที่อยู่ iC (ก) และที่ไม่ปรากฏบนเส้นทางใด ๆ
ที่เป็น iF ( ก) [p (ก) การตัดสินใจที่แตกแขนงจะดำเนินการใน routecustomer
จัดสรร จากนั้นทั้งสองสาขาจะมีการสร้างหนึ่ง
ซึ่งในบางส่วนสร้างเส้นทาง P () จะขยายออกไปโดยผมและ
หนึ่งที่ฉันเป็นที่ต้องห้ามเป็นลูกค้าต่อไปบนเส้นทางที่
จะถูกเพิ่มไปยัง C (ก) ผมลูกค้าเลือกให้เป็นลูกค้าบางส่วน
เส้นทาง P (ก) ได้รับการขยายที่มีอยู่ในการคำนวณที่นำไปสู่
ขอบเขตต่ำของโหนด ในแต่ละโหนดสาขาและผูกพัน
เขียนโปรแกรมแบบไดนามิกจะใช้ในการคำนวณที่ถูกผูกไว้ที่ลดลงใน
การแก้ปัญหาที่เป็นไปได้ทั้งหมดที่กำหนดไว้โดย f (a) P (ก) และ C (ก).
ครั้งแรกที่เราหารือเกี่ยวกับกรณีของโหนดราก (F ( ก) = /
C = (A) / และ P (ก) = Depot) ที่นี่เราสร้างกำกับ
กราฟที่มีจุด V (i, Q, k) สำหรับ i = 0, 1, ... , n; q = 0, 1, ... , Q
และ K = 0, 1, ... , M, ที่ n คือจำนวนของลูกค้าที่ m คือ
จำนวนของยานพาหนะและ Q คือผลรวมของทุกความต้องการของลูกค้า
ฉี ดังนั้นที่เกี่ยวข้องกับแต่ละโหนดสาขาและผูกพันคือชุด
ของเส้นทาง.
เส้นทางกำกับจาก v (0, 0, 0) เพื่อ V (i, Q, k) ในกราฟสอดคล้อง
ถึงชุดของเส้นทาง K กับที่ ภาระทั้งหมดของ Q และมีความ
แตกต่างกันเข้ามาครั้งล่าสุดลูกค้า (หนึ่งในแต่ละ {1, 2, ... , i})
ยาวโค้งในรูปแบบของกราฟกำกับจะได้รับการกำหนดให้เป็นทั้งหมด
การแปล กรุณารอสักครู่..
