บทที่ 14

เราเห็นดีกว่าโปรแกรม

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

วันจันทร์ 12 จุดเดิม คราวนี้เราจัดเอง

1เมื่อไหร่ที่ควรจัดเอง

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

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

สองข้อแรกเป็นเรื่องของคน แต่สิ่งที่ยกให้ได้คือรถ โปรแกรมไม่รู้จักคนขับ รู้จักแต่คัน คนขับไม่มีชื่ออยู่ในระบบเลย มีแต่ลิงก์ที่ส่งให้เขา — ดูบทที่ 2 เพราะฉะนั้นเวลาจะยก จุดนี้ให้สมชาย ที่ทำจริงคือยกให้คันที่สมชายขับวันนี้ แล้วส่งลิงก์ของคันนั้นให้เขา วันเดียวคันเดียวคนเดียว การจับคู่นั้นเลยอยู่ที่เรา ไม่ใช่ที่โปรแกรม

พอมีตัวเลข เรื่องก็คุยกันได้ แพงกว่าวันละ 60 บาท ก็จัดตามที่เรารู้ ไม่ต้องเถียง แพงกว่าวันละ 900 บาท ค่อยมานั่งคิดว่าลูกค้ารายนั้นคุ้มไหม

2เปิดโหมดจัดเอง

ปิดไว้ตามค่าตั้งต้น เพราะคนส่วนใหญ่ไม่ต้องใช้ และซ่อนลึกกว่านั้นอีกชั้น กดปุ่มบัญชีมุมขวาบนพร้อมกดปุ่ม Shift แล้วจะเห็นสวิตช์ จัดแผนเองเพื่อเทียบ โผล่ขึ้นมา เปิดครั้งเดียวแล้วมันจะอยู่ตรงนั้นตลอด ไม่ต้องกด Shift อีก

ทางที่เร็วกว่าถ้าอยากลองเลยคือต่อ ?manual=1 ท้าย URL ของหน้าวางแผน ปุ่มด้านล่างในบทนี้เปิดมาแบบนั้นให้แล้ว

เปิดแล้วปุ่มนี้จะขึ้นมาใต้แผนที่

ปุ่มกว้างเต็มแถบ เขียนว่า จัดรถเองเพื่อเทียบ
ชื่อปุ่มบอกว่ามันมีไว้ทำอะไร คือจัดเองเพื่อเทียบ ไม่ใช่จัดเองแทนการใช้โปรแกรม

กดแล้วโปรแกรมจะสลับไปแท็บ เส้นทาง ให้เอง เพราะการ์ดรถที่จะกรอกอยู่ที่นั่น และบรรทัดข้าง ๆ ปุ่มจะบอกว่า “คลิกขวาที่จุดส่งบนแผนที่ แล้วเลือกรถ”

3ยกจุดให้รถ

คลิกขวาที่จุดบนแผนที่ เมนูจะมีหัวข้อ ยกจุดนี้ให้ ต่อด้วยรายชื่อรถ หัวข้อนี้ไม่มีในโหมดปกติ

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

ยกไปเรื่อย ๆ การ์ดของรถแต่ละคันจะโตขึ้นตาม

การ์ดรถคันที่ 1 ป้าย 4 ล้อ มี 2 จุด แถบน้ำหนัก 215 จาก 1500 กก. แถบปริมาตร 430 จาก 8000 ลิตร และรายการจุดสองจุด มินิมาร์ทอุดมสุข 120 จาก 1500 กก. ร้านอาหารศรีนครินทร์ 215 จาก 1500 กก.
แถบสองแถบคือของที่ขึ้นรถแล้วเทียบกับที่รถรับได้ ตัวเลขข้างจุดแต่ละจุดคือยอดสะสม ไม่ใช่น้ำหนักของจุดนั้น จะเห็นว่าเต็มตอนไหนก่อนจะเต็ม

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

ระหว่างนี้ยังไม่คิดเส้นทางและยังไม่คิดราคา ตั้งใจให้เป็นอย่างนั้น — ตอนยกจุดคือตอนที่คลิกรัว ๆ ถ้าวาดเส้นใหม่ให้ทุกคลิกก็ขัดจังหวะเปล่า ๆ

ปุ่ม ตีราคาแผนนี้
กดเมื่อพร้อม หรือถ้ายกครบทุกจุดแล้ว โปรแกรมจะตีราคาให้เองทันที

4เทียบกับแผนที่ระบบจัด

ถ้าในหน้านั้นมีแผนที่ระบบจัดอยู่แล้ว พอตีราคาแผนของเราเสร็จ กล่องเทียบจะขึ้นมา หัวข้อว่า แผนของคุณ เทียบกับแผนที่ระบบจัด เทียบสี่บรรทัด

และสรุปให้ว่า ประหยัดได้ต่อวัน หรือ แพงขึ้นต่อวัน เท่าไร คิดเป็นกี่เปอร์เซ็นต์

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

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

5เมื่อเทียบกันไม่ได้

ถ้างานสองฝั่งไม่เท่ากัน กล่องเทียบจะไม่เทียบราคาให้ — และไม่ควรเทียบ เพราะแผนที่ส่งของน้อยกว่าก็ถูกกว่าอยู่แล้วโดยไม่ต้องเก่ง

ทั้งสี่ข้อเป็นข้อความที่โปรแกรมเขียนบอก พร้อมบอกว่าต้องทำอะไรก่อน ไม่ได้แค่ซ่อนตัวเลขไปเงียบ ๆ

สองแผนวัดด้วยไม้บรรทัดเดียวกัน

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

6แก้ลำดับ กับสั่งให้กลับมาโหลด

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

ถ้าอยากให้รถกลับมาโหลดของกลางวัน คลิกขวาที่จุดที่อยู่ก่อนการกลับมานั้น แล้วเลือกทำเครื่องหมายกลับคลัง จะขึ้นเป็นแถว ↩ กลับคลังเพื่อโหลดของเพิ่ม ในการ์ด

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

7ใช้ยังไงให้คุ้ม

ไม่ต้องจัดเองทุกวัน จัดเองครั้งเดียวเพื่อวัดว่ากฎที่เราถืออยู่ราคาเท่าไร ก็พอ

  1. ให้โปรแกรมจัดวันปกติหนึ่งวัน แล้วจดตัวเลขไว้

  2. จัดเองตามกฎที่เราถืออยู่ เช่นลูกค้ารายใหญ่ต้องไปก่อน คนขับคนนี้ต้องได้โซนนี้

  3. อ่านบรรทัดประหยัดได้ต่อวัน คือราคาของกฎข้อนั้น ต่อวัน

  4. คูณ 300 วัน แล้วตัดสินใจว่ากฎข้อนั้นคุ้มไหม ครั้งเดียวพอ ไม่ต้องทำใหม่ทุกวัน

บางกฎจะกลายเป็นเรื่องเล็กที่ไม่ต้องเถียงกันอีก บางกฎจะกลายเป็นเงินก้อนที่ควรคุยกับลูกค้าจริง ๆ

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

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

{
  "assignment": {
    "บางนา_4_ล้อ_1": ["A-01", "A-04", "A-07"],
    "บางนา_4_ล้อ_2": ["A-02", "A-03"]
  },
  "reloads": { "บางนา_4_ล้อ_1": [1] }
}

ลำดับในลิสต์คือลำดับการวิ่งจริง ไม่มีการเรียงใหม่ให้ — การตีราคาคือวัดแผนที่เราส่งไป ไม่ใช่ช่วยแก้ให้ดีขึ้น

reloads คือดัชนีของจุดที่รถกลับคลังหลังจากนั้น [1] หมายถึงกลับคลังหลังจุดที่สองในลิสต์ แล้วจุดถัด ๆ ไปเป็นเที่ยวที่สอง

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

8ลองเอง

  1. กด วางแผนเส้นทาง ก่อน จดค่าใช้จ่ายไว้ แล้วเปิดโหมดจัดเอง ยกทุกจุดให้รถคันเดียว ดูว่าแพงขึ้นเท่าไร นี่คือราคาของการไม่แบ่งรถ
  2. จัดเองโดยแบ่งครึ่งเมืองซ้ายขวา ซึ่งเป็นวิธีที่คนทำกันจริง แล้วดูว่าห่างจากที่โปรแกรมจัดเท่าไร ส่วนใหญ่จะใกล้กว่าที่คิด
  3. ยกจุดให้ไม่ครบทุกจุด แล้วกดตีราคา กล่องเทียบจะบอกว่าเทียบไม่ได้และบอกด้วยว่าเพราะอะไร ซึ่งเป็นพฤติกรรมที่ควรเชื่อถือได้