Mô phỏng Monte Carlo sử dụng QGIS và pgRouting trên xây dựng vỉa hè tối ưu


17

Tôi chưa quen với phân tích không gian và sẽ đánh giá cao một số định hướng chung về một dự án tôi đang cố gắng, được nêu dưới đây (tôi đang bắt đầu từ đầu).

MỤC TIÊU: Để tìm tốt nhất địa điểm để cài đặt 2000 bộ vỉa hè ở quê nhà của tôi để kết nối các hộ gia đình nhất để Trung tâm thương mại (CBD), trong đó "kết nối" có nghĩa là trong vòng 1,2 dặm đi bộ của CBD. Tôi có hình dạng hiển thị các cấu trúc hiện có (hộ gia đình), đường và vỉa hè (đã được cài đặt).

Đây là giải pháp đề xuất / quá trình suy nghĩ của tôi:

  1. Chuyển đổi mạng vỉa hè tại chỗ thành cơ sở dữ liệu của các nút được kết nối bằng trọng số (tức là khoảng cách). Có cách nào để trực tiếp làm điều này trong QGIS (hoặc chương trình khác) bằng cách nhấp vào tất cả các giao lộ không?
  2. Tính số hộ gia đình nằm trong 1,2 dặm đi bộ của quận trung tâm thương mại (ví dụ như một điểm lat kéo dài hoặc đa giác) bằng cách sử dụng khả năng định tuyến của pgRouting hay cái gì khác. Đây sẽ là trường hợp cơ sở giá trị "truy cập hộ gia đình".
  3. Sử dụng lớp đường làm hướng dẫn, đặt ngẫu nhiên thêm 2000 feet (ví dụ: trong 10 đoạn) vỉa hè lên lớp vỉa hè. Điều này tương đương với việc xây dựng một loạt các vỉa hè mới tùy ý.
  4. Re-tính toán các nút và trọng lượng bằng cách sử dụng mạng cho người đi bộ mới như trong (1), và sau đó tính toán lại số hộ mà bây giờ nằm ​​trong 1.2 dặm của CBD như trong (2). Nó sẽ tăng với vỉa hè bổ sung. Lưu các vị trí của vỉa hè bổ sung và giá trị "truy cập hộ gia đình" được liên kết vào một tệp (ví dụ: bảng tính).
  5. Lặp lại các bước (3) và (4) 10000 lần, tương tự như mô phỏng Monte Carlo. Sử dụng 10000 bộ các điểm dữ liệu, chọn địa điểm vị trí vỉa hè tối đa hóa số lượng hộ gia đình trong 1,2 dặm của CBD.

Liệu quá trình suy nghĩ này nghe có vẻ thực tế? Có ai có bất cứ đề nghị?

- Tôi muốn thực hiện điều này bằng cách sử dụng một số kết hợp của QGIS và R, tuy nhiên tôi sẵn sàng học PostGIS và / hoặc Python (hoặc bất cứ điều gì khác) để đạt được mục tiêu.


1
Bạn có thể muốn xem xét một thuật toán di truyền thay thế. Đó gần như là quá trình bạn đã mô tả. Tôi khá chắc chắn có thư viện python hỗ trợ thuật toán di truyền.
Chris

1
Có vẻ như R cũng có thư viện thuật toán di truyền.
Chris

6
Đó là một vấn đề lớn. Tuy nhiên, hầu hết các vị trí ngẫu nhiên của 200 phân khúc vỉa hè sẽ không kết nối bất cứ thứ gì với bất kỳ thứ gì khác; bạn sẽ không đến bất cứ nơi nào gần tối ưu theo cách vô duyên như vậy. Tôi có thể đề nghị tập trung suy nghĩ ban đầu của bạn về cách hình thành vấn đề một cách trừu tượng (độc lập với bất kỳ cấu trúc dữ liệu hoặc môi trường lập trình nào) để bạn có thể (a) xác định các vấn đề đó trước và (b) vẫn mở cho toàn bộ các phương pháp giải pháp có sẵn không? Có vẻ như còn sớm để đề xuất một phương pháp giải pháp cụ thể.
whuber

2
Sớm? Tôi không đồng ý. Thật vậy, quá trình suy nghĩ được nêu ở trên là một cách tiếp cận; Tôi hy vọng nó sẽ tập trung bất kỳ động não và dẫn đến phản hồi hữu ích. Điều đó nói rằng, tôi mở cho đầy đủ các phương pháp giải pháp có sẵn. Hạn chế các phân đoạn để vỉa hè sẽ được đặt theo cách mà chúng luôn kết nối mọi thứ sẽ đơn giản để thực hiện và giúp tìm ra giải pháp. Cám ơn vì sự gợi ý.
baha-kev

6
Chà, nếu bạn sao lưu một chút và quên đi những thứ ngẫu nhiên, các loại câu hỏi xuất hiện trong đầu bao gồm: * Đây là loại vấn đề tối ưu hóa nào? Nó có những tính chất gì? (Ví dụ: tuyến tính, lồi, quasiconvexity, v.v.). * Nó có công thức tương đương, chẳng hạn như kép? * Có cách nào khác để thể hiện nó, chẳng hạn như về các thuộc tính của đồ thị hoặc với các chức năng phạt không? Ví dụ, một công thức kép sẽ là giảm thiểu tổng chiều dài vỉa hè phục vụ cho một dân số nhất định. Điều này có thể gợi ý một giải pháp lập trình động.
whuber

Câu trả lời:


1

bạn có thể muốn sử dụng phần mở rộng Bộ giải trong excel, tôi đã sử dụng nó một vài lần trong lập trình lót.

đây là liên kết về khóa học sự cố trên LP, sử dụng Bộ giải:

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


2
Đó là một ý tưởng hay và có thể hữu ích khi chơi với các vấn đề đồ chơi nhỏ. Thật không may, Excel không phụ thuộc vào nhiệm vụ này. Bên cạnh đó là một vấn đề quá lớn đối với nó để xử lý, việc mã hóa các ràng buộc kết nối trong Excel sẽ rất khó khăn: bạn phải đảm bảo rằng vỉa hè thực sự kết nối mọi người với CBD!
whuber
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.