การจำลองแบบมอนติคาร์โลโดยใช้ QGIS และ pgRouting ในการก่อสร้างทางเท้าที่ดีที่สุด


17

ฉันยังใหม่กับการวิเคราะห์เชิงพื้นที่และขอขอบคุณทิศทางทั่วไปในโครงการที่ฉันพยายามอธิบายไว้ด้านล่าง (ฉันเริ่มจากศูนย์)

เป้าหมาย:เพื่อค้นหาสถานที่ที่ดีที่สุดในการติดตั้งทางเท้า 2000 ฟุตในบ้านเกิดของฉันเพื่อเชื่อมต่อครัวเรือนส่วนใหญ่กับย่านธุรกิจกลาง (CBD) ที่ซึ่ง "เชื่อมต่อ" หมายถึงเดิน 1.2 กิโลเมตรจาก CBD ฉันมีรูปร่างที่แสดงโครงสร้างที่มีอยู่ (ครัวเรือน) ถนนและทางเท้า (ติดตั้งแล้ว)

นี่คือโซลูชัน / กระบวนการคิดที่เสนอของฉัน:

  1. แปลงเครือข่ายทางเท้าในสถานที่เป็นฐานข้อมูลของโหนดที่เชื่อมต่อด้วยน้ำหนัก (เช่นระยะทาง) มีวิธีในการทำสิ่งนี้โดยตรงใน QGIS (หรือโปรแกรมอื่น ๆ ) โดยคลิกที่ทางแยกทั้งหมดหรือไม่?
  2. คำนวณจำนวนครัวเรือนที่อยู่ในระยะเดิน 1.2 กม. จากย่านธุรกิจกลาง (เช่นจุด lat-long หรือรูปหลายเหลี่ยม) โดยใช้ความสามารถในการกำหนดเส้นทางของ pgRouting หรืออย่างอื่น นี่จะเป็นกรณีฐาน "ค่าการเข้าถึงในครัวเรือน"
  3. การใช้เลเยอร์ถนนเป็นแนวทางให้วางเท้าเพิ่มอีก 2000 ฟุต (พูดในเซ็กเมนต์ 10 ฟุต) ของทางเท้าลงบนเลเยอร์ทางเท้า นี่คือสิ่งที่เทียบเท่ากับการสร้างทางเท้าใหม่จำนวนมากโดยพลการ
  4. คำนวณโหนดและตุ้มน้ำหนักใหม่โดยใช้เครือข่ายคนเดินเท้าใหม่ตาม (1) แล้วคำนวณจำนวนครัวเรือนที่อยู่ภายใน 1.2 ไมล์จาก CBD อีกครั้งใน (2) มันควรจะเพิ่มขึ้นด้วยทางเท้าเพิ่มเติม บันทึกตำแหน่งของทางเท้าเพิ่มเติมและค่า "การเข้าถึงในครัวเรือน" ที่เกี่ยวข้องลงในไฟล์ (เช่นสเปรดชีต)
  5. ทำซ้ำขั้นตอน (3) และ (4) 10000 ครั้งคล้ายกับการจำลอง Monte Carlo เมื่อใช้จุดข้อมูล 10,000 ชุดให้เลือกตำแหน่งการจัดวางทางเท้าซึ่งจะเพิ่มจำนวนครัวเรือนได้สูงสุดภายใน 1.2 ไมล์จาก CBD

กระบวนการคิดนี้ฟังดูสมจริงหรือไม่? ไม่มีใครมีข้อเสนอแนะใด ๆ ?

- ฉันต้องการทำสิ่งนี้ให้สำเร็จโดยใช้การผสมผสานระหว่าง QGIS และ R อย่างไรก็ตามฉันเปิดกว้างสำหรับการเรียนรู้ PostGIS และ / หรือ Python (หรืออะไรก็ได้) เพื่อให้บรรลุเป้าหมาย


1
คุณอาจต้องการพิจารณาอัลกอริทึมทางพันธุกรรมแทน เกือบเป็นกระบวนการที่คุณอธิบาย ฉันค่อนข้างมั่นใจว่ามีห้องสมุดหลามที่สนับสนุนอัลกอริทึมทางพันธุกรรม
Chris

1
ดูเหมือนว่า R มีไลบรารีอัลกอริทึมทางพันธุกรรมเช่นกัน
Chris

6
มันเป็นปัญหาที่ยิ่งใหญ่ อย่างไรก็ตามตำแหน่งสุ่มส่วนใหญ่ของกลุ่มทางเท้า 200 10 จะไม่เชื่อมต่อกับสิ่งอื่นใด คุณจะไม่เข้าใกล้จุดสูงสุดในแบบที่ไม่มีใครแนะนำ ฉันขอแนะนำให้คุณจดจ่อกับความคิดเริ่มต้นของคุณเกี่ยวกับวิธีการกำหนดปัญหาอย่างเป็นนามธรรม (โดยไม่ขึ้นอยู่กับโครงสร้างข้อมูลหรือสภาพแวดล้อมการเขียนโปรแกรม) เพื่อให้คุณสามารถ (a) ระบุปัญหาดังกล่าวไว้ล่วงหน้าและ (b) ดูเหมือนว่าจะนำเสนอวิธีการแก้ปัญหาวิธีหนึ่ง
whuber

2
ก่อนวัยอันควร? ผมไม่เห็นด้วย. อันที่จริงกระบวนการคิดที่ระบุไว้ข้างต้นเป็นวิธีการหนึ่ง ฉันหวังว่ามันจะมุ่งเน้นการระดมสมองใด ๆ และส่งผลให้ข้อเสนอแนะที่เป็นประโยชน์ ที่กล่าวว่าฉันเปิดให้เต็มรูปแบบของวิธีการแก้ปัญหาที่มีอยู่ จำกัด ส่วนต่างๆเพื่อที่ทางเท้าจะถูกวางไว้ในลักษณะที่พวกเขาเชื่อมต่อสิ่งต่าง ๆ เสมอจะตรงไปตรงมาเพื่อนำไปใช้และช่วยในการหาทางออก ขอบคุณสำหรับคำแนะนำ
baha-kev

6
ถ้าคุณสำรองข้อมูลไว้เล็กน้อยและลืมเรื่องการสุ่มข้อมูลคำถามที่นึกถึง ได้แก่ : * ปัญหาการเพิ่มประสิทธิภาพแบบนี้เป็นอย่างไร มันมีคุณสมบัติอะไร? (เช่นเส้นตรงนูนนูน quasiconvexity ฯลฯ ) * มันมีสูตรที่เทียบเท่าเช่นสองหรือไม่? * มีวิธีอื่นในการแสดงเช่นในแง่ของคุณสมบัติของกราฟหรือฟังก์ชั่นการลงโทษหรือไม่? ตัวอย่างหนึ่งการกำหนดสูตรสองสูตรคือการลดความยาวรวมของทางเท้าที่ให้บริการประชากรที่กำหนด สิ่งนี้อาจแนะนำวิธีการเขียนโปรแกรมแบบไดนามิก
whuber

คำตอบ:


1

คุณอาจต้องการใช้ส่วนขยาย Solver ใน excel ฉันใช้มันสองสามครั้งในการเขียนโปรแกรมซับ

นี่คือลิงค์ของหลักสูตรการชนบน LP ซึ่งใช้ Solver:

http://www.economicsnetwork.ac.uk/cheer/ch9_3/ch9_3p07.htm


2
มันเป็นความคิดที่ดีและอาจมีประโยชน์สำหรับการเล่นกับปัญหาของเล่นเล็ก ๆ น่าเสียดายที่ Excel ไม่ได้ขึ้นอยู่กับภารกิจนี้ นอกจากจะมีปัญหาใหญ่เกินกว่าที่จะจัดการได้แล้วมันจะเป็นการยากที่จะเขียนรหัสข้อ จำกัด การเชื่อมต่อใน Excel: คุณต้องแน่ใจว่าทางเท้าเชื่อมต่อผู้คนกับ CBD จริง ๆ !
whuber
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.