บทที่ 10

รถติด

ข้อมูลถนนที่โปรแกรมใช้เป็นถนนว่าง ไม่ใช่ถนนสี่โมงเย็น บทนี้คือตัวเลขตัวเดียวที่บอกว่าวันนั้นถนนแน่นแค่ไหน

วันจันทร์เดิม แต่ตั้งว่าเวลาบนถนนนานขึ้นเท่าตัว

1เรื่องที่เกิดขึ้น

บทที่ 4 พูดถึงไปแล้วสั้น ๆ ว่าเวลาในแผนคือเวลาที่คิดจากความเร็วบนถนน ไม่ได้รวมรถติด แผนบทที่ 1 บอกว่ารถกลับถึงคลัง 12:25 ถ้าปล่อยรถออกจริงในกรุงเทพวันธรรมดา เลขนั้นไม่เกิดขึ้น

ทางแก้ไม่ใช่ให้โปรแกรมเดาสภาพจราจรเอง เพราะมันไม่รู้ ทางแก้คือเราบอกมันว่าวันนั้นถนนเป็นอย่างไร

2ตั้งสภาพจราจร

แถบเลื่อนสภาพจราจร ตั้งไว้กลาง ๆ มีวงสีแดงรอบ ค่าอ่านว่า ×2.00 และคำอธิบายว่ารถติดปานกลาง ใช้เวลาบนถนนนานขึ้น 100% ขับ 1 ชั่วโมงกลายเป็น 2 ชม.
แถบเลื่อนอยู่ท้าย ตัวเลือกการวางแผนเส้นทาง ตั้งได้ตั้งแต่ ×1.0 ถึง ×4.0 และบรรทัดใต้แถบแปลเลขนั้นให้เป็นภาษาคน

×1.0 คือถนนว่าง เป็นค่าตั้งต้น และเป็นพื้นของทุกแผนในเก้าบทที่ผ่านมา ×2.0 คือขับหนึ่งชั่วโมงกลายเป็นสองชั่วโมง

3ระยะทางไม่ขยับ เวลาขยับ

บรรทัดสรุปผล: รถ 1 คัน · จุดส่ง 12 จุด · 50.0 กม. · 400 บาท · ตรงเวลาทุกคัน
×1.0 · 50.0 กิโล · 400 บาท
บรรทัดสรุปผล: รถ 1 คัน · จุดส่ง 12 จุด · 50.0 กม. · 400 บาท · ตรงเวลาทุกคัน
×2.0 · 50.0 กิโล · 400 บาท · เหมือนกันทุกตัว

บรรทัดสรุปสองอันนี้เหมือนกันหมด และนั่นถูกต้อง รถติดไม่ได้ทำให้ทางไกลขึ้น ระยะเท่าเดิม น้ำมันเท่าเดิม เงินเท่าเดิม ที่เปลี่ยนคือเวลา และเวลาไม่อยู่ในบรรทัดนี้

การ์ดรถคันที่ 1 ×1.0 ระยะ 50.0 กม. 265 นาที ไม่มีพักกลางวัน กลับถึงคลัง 12:25 ใช้เวลาทำงานไป 49 เปอร์เซ็นต์ เวลาวิ่ง 79 นาที เวลาที่จุดส่ง 186 นาที
×1.0 · วิ่ง 79 นาที · กลับถึงคลัง 12:25 · ไม่ต้องพักเที่ยงเพราะจบก่อน
การ์ดรถคันที่ 1 ×2.0 ระยะ 50.0 กม. 411 นาที พักกลางวัน 11:05 ถึง 12:05 กลับถึงคลัง 14:50 ใช้เวลาทำงานไป 76 เปอร์เซ็นต์ เวลาวิ่ง 159 นาที เวลาที่จุดส่ง 252 นาที
×2.0 · วิ่ง 159 นาที · กลับถึงคลัง 14:50 · และตอนนี้ต้องพักเที่ยงด้วย

79 นาทีกลายเป็น 159 นาที คือคูณสองพอดี ตรงตามที่ตั้ง วันจบจาก 12:25 ไปเป็น 14:50 คือช้าลงสองชั่วโมงยี่สิบห้านาที มากกว่า 80 นาทีที่เพิ่มบนถนน เพราะพอวันลากข้ามเที่ยง ก็ต้องเสียเวลาพักกลางวันเพิ่มอีกหนึ่งชั่วโมง

การใช้กะจาก 49% ขึ้นไป 76% นี่แหละที่คนคุมรถควรดู ไม่ใช่ตัวเลขระยะทาง

ไทม์ไลน์รถคันที่ 1 ที่จราจร ×2.0 แถบสีฟ้ากำลังขับกว้างขึ้นชัดเจน สลับกับแถบเขียวจุดส่ง และมีแถบม่วงพักกลางวัน
แถบสีฟ้าคือกำลังขับ เทียบกับไทม์ไลน์ในบทที่ 7 จะเห็นว่ามันหนาขึ้น เวลาที่หายไปกับถนนกลายเป็นก้อนที่มองเห็นได้

4ถึงจุดที่รถคันเดียวไม่พอ

เพิ่มไปถึง ×4.0 คือขับหนึ่งชั่วโมงกลายเป็นสี่ เป็นวันที่แย่จริง ๆ ไม่ใช่วันธรรมดา

บรรทัดสรุปผล: รถ 2 คัน · จุดส่ง 12 จุด · 52.5 กม. · 420 บาท · ตรงเวลาทุกคัน
รถสองคัน และตอนนี้ระยะทางเปลี่ยนแล้ว จาก 50.0 เป็น 52.5

ตรงนี้คือจุดที่รถติดเลิกเป็นเรื่องวันยาว แล้วกลายเป็นเรื่องแผนคนละแผน วันที่รถคันเดียวทำได้สบายในถนนว่าง กลายเป็นวันที่ต้องออกรถสองคัน และเมื่อออกรถสองคัน ระยะรวมก็เพิ่มขึ้นตามที่บทที่ 5 อธิบายไว้

5ควรตั้งเท่าไร

อย่าเดา วัดจากงานที่วิ่งอยู่แล้ว วิธีที่ใช้ได้ทันที

  1. เอาวันที่ผ่านมาแล้ววันหนึ่ง ที่จำได้ว่ารถกลับถึงคลังกี่โมง

  2. ใส่วันนั้นเข้าโปรแกรมที่ ×1.0 แล้วดูว่าแผนบอกว่ารถควรกลับกี่โมง

  3. เลื่อนแถบขึ้นทีละ 0.1 แล้ววางแผนใหม่ จนกว่าเวลากลับถึงคลังในแผนจะตรงกับที่เกิดขึ้นจริง

เลขที่ได้คือค่าของย่านนั้น ในช่วงเวลานั้น ทำสองสามวันแล้วเอาค่ากลาง ส่วนใหญ่จะได้ระหว่าง 1.3 ถึง 2.0 สำหรับรอบเช้าในกรุงเทพ

ตั้งไว้สูงไปก็มีราคา

ตั้ง ×3.0 ไว้ทั้งที่จริงแค่ ×1.5 จะได้แผนที่ระวังเกินเหตุ คือออกรถมากกว่าที่ต้อง หรือทิ้งจุดที่จริง ๆ ส่งได้ ตัวเลขนี้ไม่ใช่เผื่อไว้ให้ปลอดภัย เป็นการบอกความจริง ถ้าจะเผื่อ ให้เผื่อที่เวลานัดลูกค้า ไม่ใช่ที่นี่

ถ้าส่งข้อมูลเข้ามาเป็น JSONสำหรับคนที่ต่อระบบเอง

ฟิลด์เดียว ที่ระดับคำขอ:

{ "traffic_factor": 2.0 }

รับตั้งแต่ 1.0 ถึง 4.0 ต่ำกว่า 1.0 ถูกปฏิเสธ เพราะไม่มีถนนไหนว่างกว่าถนนว่าง ไม่ส่งมาคือ 1.0

ตัวคูณนี้ลงที่เวลาเดินทางทุกช่วง ไม่ลงที่ระยะทาง ในคำตอบ drive_duration_s กับ total_duration_s จะขยับ ส่วน total_distance_m ไม่ขยับ ถ้าเห็นระยะทางเปลี่ยนหลังปรับตัวเลขนี้ แปลว่าแผนเปลี่ยนรูป คือใช้รถไม่เท่าเดิม หรือลำดับจุดไม่เหมือนเดิม ไม่ใช่ว่าถนนยืด

เป็นตัวคูณเดียวสำหรับทั้งแผน ไม่ใช่รายช่วงเวลาหรือรายถนน ถ้าต้องการละเอียดกว่านั้น วิธีที่ใช้ได้วันนี้คือแยกแผนตามช่วงเวลา แล้วตั้งตัวคูณของแต่ละแผนต่างกัน

6ลองเอง

  1. เลื่อนจาก ×1.0 ขึ้นทีละ 0.5 แล้ววางแผนใหม่ทุกครั้ง จดเวลากลับถึงคลัง จะได้เส้นตรง จนถึงจุดที่โปรแกรมเพิ่มรถ แล้วเส้นจะหัก
  2. ตั้ง ×2.0 แล้วลดเวลาทำงานของรถให้เลิก 14:00 ดูว่าโปรแกรมแก้ด้วยการเพิ่มรถ หรือด้วยการทิ้งจุด
  3. ตั้ง ×2.0 กับวันที่มีช่วงเวลารับของจากบทที่ 4 จุดที่เคยไปทันจะเริ่มไปไม่ทัน นี่คือคู่ที่ควรลองพร้อมกัน เพราะของจริงมันมาพร้อมกัน