กำลังคำนวณเส้นทางที่ดีที่สุดขณะสัมผัสถนนที่มีอยู่ทั้งหมดในเครือข่าย ArcGIS หรือไม่


13

สำหรับการเตรียมฤดูหนาวเราต้องการคำนวณเส้นทางที่เหมาะสมที่สุดสำหรับการโรยเกลือบนถนน การวิเคราะห์รู้เกณฑ์ดังต่อไปนี้:

  • ยานพาหนะเริ่มต้นและหยุดที่จุดโหลดเดียว
  • ถนนที่มีอยู่ทั้งหมดจะต้องโรยด้วยเกลือ
  • หนึ่งเส้นทางสามารถใช้เวลาไม่เกินเวลา certin (ให้สมมติ 2 ชั่วโมง)
  • เนื่องจากปริมาณเกลือที่ จำกัด ต่อคันยานพาหนะระยะทางของเส้นทางจะ จำกัด ปริมาณเกลือที่มีอยู่ (สมมติว่า 10 กม.)

นักวิเคราะห์เครือข่ายของ ArcGIS (10.0) ถือว่าคุณมีจุดเริ่มต้นและจุดสิ้นสุดในการคำนวณเส้นทาง อย่างไรก็ตามในกรณีนี้มันไม่ได้เกี่ยวกับการคำนวณเส้นทางที่เร็วที่สุดจากต้นทางถึงปลายทาง แต่เกี่ยวกับเส้นทางที่ดีที่สุดที่จะครอบคลุมระยะทางถนนให้มากที่สุดเท่าที่จะทำได้ภายในกรอบเวลาที่ จำกัด

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


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

จริงแท้แน่นอน. คุณมีเคล็ดลับในการแก้ไขคำถามการกำหนดเส้นทางประเภทนี้หรือไม่
Mark Verschuur

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

มันสามารถลดปัญหารถปิคอัพและปัญหาการจัดส่งได้หลายอย่างและมีเอกสารมากมาย
จาคุบคาเนีย

ที่เกี่ยวข้อง: gis.stackexchange.com/questions/99886/…
Chris W

คำตอบ:


5

ฉันคิดว่าคำตอบบางอย่างขึ้นอยู่กับเลย์เอาต์ของเครือข่ายถนนและคำถามนี้อาจคุ้มค่าที่จะโพสต์ใน Math Stack Exchange ( /math// ) เนื่องจากดูเหมือนว่าปัญหาทฤษฎีกราฟ ฉันไม่คิดว่านี่จะเป็นทางออกที่ดีที่สุด แต่อาจช่วยให้คุณเข้าใกล้ได้มากขึ้น

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

def eulerian_tour(network_graph):
    graph = network_graph[:]
    route = []
    def find_route(start):
        for (i, j) in graph:
            if i == start:
                graph.remove((i, j))
                find_route(j)
            elif j == start:
                graph.remove((i, j))
                find_route(i)
        route.append(start)

    find_route(graph[0][0])
    route.reverse()
    return route

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


1

ฉันจะเข้าใกล้ภารกิจนี้ด้วยวิธีนี้ นักวิเคราะห์เครือข่าย ArcGIS มีตัวแก้ปัญหาที่เรียกว่าVRPซึ่งสามารถช่วยคุณในการสั่งซื้อและจัดการเส้นทางของคุณ ฉันจะแปลงการเชื่อมโยงถนนแต่ละอันที่คุณมีในชุดข้อมูลเครือข่ายของคุณเป็นเครื่องมือชี้ตำแหน่ง ( Feature To Point (Data Management) GP หรือก่อนอื่นอาจแบ่งสายเป็นสองส่วนจุดยอดที่เรียบง่ายจากนั้นรับจุดกึ่งกลาง )

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

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

โปรดจำไว้ว่านักวิเคราะห์เครือข่ายจะทำงานได้ดีกับคำสั่งซื้อที่มีจำนวน จำกัด (ในกรณีของคุณ - ถนนเซนทรอยด์) ฉันประสบความสำเร็จกับการสั่งซื้อหลายพันรายการ (มากถึง 9,000) ดังนั้นหากคุณต้องการให้บริการในเมืองที่มีขนาดใหญ่มากคุณอาจ จำกัด เส้นทางของคุณให้ทำงานเฉพาะในบางส่วนของเมือง (ในแง่ของ VRP - เขตทาง)

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


ขอบคุณสำหรับคำแนะนำ ฉันจะตรวจสอบ RouteSmart อย่างแน่นอน
Mark Verschuur
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.