PAM เป็นไลบรารี Python สำหรับการสร้าง แบบจำลองลำดับกิจกรรม ประชากร กรณีการใช้งานตัวอย่าง:
PAM รองรับรูปแบบการเดินทางและกิจกรรมทั่วไป รวมถึง MATSim
ลำดับกิจกรรม ของประชากร (บางครั้งเรียกว่า แผนกิจกรรม ) ใช้เพื่อจำลองกิจกรรม (สถานที่และเวลาที่ผู้คนอยู่ที่บ้าน ที่ทำงาน การศึกษา และอื่นๆ) และการเดินทางที่เกี่ยวข้องของประชากร:
นักวางแผนการขนส่งใช้ลำดับกิจกรรมเพื่อจำลองความต้องการการเดินทาง แต่ยังสามารถนำมาใช้ในโดเมนอื่นๆ ได้ด้วย เช่น สำหรับการแพร่กระจายของไวรัสหรือการสร้างแบบจำลองการใช้พลังงาน
เดิมที PAM ถูกสร้างขึ้นและแบ่งปันเพื่อปรับเปลี่ยนโมเดลกิจกรรมที่มีอยู่อย่างรวดเร็วเพื่อตอบสนองต่อสถานการณ์การล็อคดาวน์จากโรคระบาด
ฟังก์ชันนี้ใช้รูปแบบ การอ่าน-แก้ไข-เขียน ในกรณีที่มีการปรับเปลี่ยนโดยใช้ นโยบาย นโยบายตัวอย่างอาจเป็น (ก) ผู้ติดเชื้อกักกันที่บ้าน (ข) เฉพาะผู้ปฏิบัติงานที่มีภาวะวิกฤตเท่านั้นที่เดินทางไปทำงาน และ (ค) ทุกคนไปซื้อของในท้องถิ่น
นอกเหนือจากรูปแบบและฟังก์ชัน การอ่าน-แก้ไข-เขียน แบบดั้งเดิมแล้ว PAM ยังมีโมดูลสำหรับ:
โดยทั่วไป โครงสร้างข้อมูลและโมดูล PAM หลักสามารถใช้เป็นไลบรารีเพื่อรองรับกรณีการใช้งานของคุณเอง รวมถึงการสร้างแบบจำลองตามกิจกรรมของคุณเอง
PAM รองรับรูปแบบประชากร/แผน MATSim อย่างสมบูรณ์ ซึ่งรวมถึงยานพาหนะ แผนการที่ไม่ได้เลือก เส้นทางของขา และคุณลักษณะของขา กรณีการใช้งานหลักของ PAM คือการ อ่าน-แก้ไข-เขียน แผนที่มีประสบการณ์ จาก MATSim สิ่งนี้สามารถช่วยให้สถานการณ์ MATSim ใหม่ "เริ่มต้นอย่างอบอุ่น" จากสถานการณ์ที่มีอยู่ ซึ่งช่วยลดเวลาในการคำนวณ MATSim ได้อย่างมาก
สำหรับคำแนะนำโดยละเอียดเพิ่มเติม โปรดดูเอกสารประกอบของเรา
ในการติดตั้ง PAM เราขอแนะนำให้ใช้ตัวจัดการแพ็คเกจ mamba:
mamba create -n pam -c conda-forge -c city-modelling-lab cml-pam
mamba activate pam
git clone [email protected]:arup-group/pam.git
cd pam
mamba create -n pam -c conda-forge -c city-modelling-lab --file requirements/base.txt --file requirements/dev.txt
mamba activate pam
pip install --no-deps -e .
การติดตั้งโดยตรงกับ pip ในฐานะผู้ใช้ ( pip install cml-pam
) หรือในฐานะนักพัฒนา ( pip install -e '.[dev]'
) ก็เป็นไปได้เช่นกัน แต่คุณจะต้องติดตั้งไลบรารี่ libgdal
& libspatialindex
geospatial non-python ไว้ล่วงหน้า .
สำหรับคำแนะนำโดยละเอียดเพิ่มเติม โปรดดูเอกสารประกอบของเรา
มีหลายวิธีในการสนับสนุน PAM ทั้งทางเทคนิคและไม่ใช่ด้านเทคนิค ก่อนที่จะสนับสนุนซอร์สโค้ด PAM โปรดดูหลักเกณฑ์การสนับสนุนของเราและปฏิบัติตามคำแนะนำในการติดตั้งเพื่อการพัฒนา
หากคุณใช้ pip
เพื่อติดตั้ง PAM แทน mamba
ที่แนะนำ คุณสามารถติดตั้งไลบรารีการทดสอบและเอกสารประกอบเพิ่มเติมได้โดยใช้ตัวเลือก dev
เช่น pip install -e '.[dev]'
หากคุณวางแผนที่จะเปลี่ยนแปลงโค้ด โปรดใช้เครื่องมือต่อไปนี้เป็นประจำเพื่อตรวจสอบโค้ดเบสในขณะที่คุณทำงาน:
pre-commit
: รัน pre-commit install
ในบรรทัดคำสั่งของคุณเพื่อโหลดการตรวจสอบ inbuilt ที่จะทำงานทุกครั้งที่คุณยอมรับการเปลี่ยนแปลง การตรวจสอบคือ: 1. ตรวจสอบว่าไม่มีไฟล์ขนาดใหญ่จัดฉาก 2. ไฟล์ lint python สำหรับข้อผิดพลาดที่สำคัญ 3. จัดรูปแบบไฟล์ python ให้สอดคล้องกับมาตรฐาน pep8 คุณยังสามารถรันการตรวจสอบเหล่านี้ด้วยตนเองได้ตลอดเวลาเพื่อให้แน่ใจว่าการเปลี่ยนแปลงตามขั้นตอนนั้นสะอาดหมดจดโดยการเรียกใช้ pre-commit
แบบง่ายๆpytest
- รันชุดทดสอบหน่วย ตรวจสอบความครอบคลุมของการทดสอบ และทดสอบว่าโน้ตบุ๊กตัวอย่างทำงานได้สำเร็จpytest -p memray -m "high_mem" --no-cov
(ไม่มีให้บริการบน Windows) - หลังจากติดตั้ง memray ( mamba install memray pytest-memray
) ให้ทดสอบว่าประสิทธิภาพของหน่วยความจำและเวลาไม่เกินเกณฑ์มาตรฐานสำหรับข้อมูลเพิ่มเติม โปรดดูเอกสารประกอบของเรา
หากคุณไม่สามารถเข้าถึงเอกสารออนไลน์ได้ คุณสามารถสร้างเอกสารในเครื่องได้ ขั้นแรก ติดตั้งสภาพแวดล้อมการพัฒนาของ PAM จากนั้นปรับใช้เอกสารโดยใช้ไมค์:
mike deploy 0.2
mike serve
จากนั้นคุณสามารถดูเอกสารประกอบในเบราว์เซอร์ได้ที่ http://localhost:8000/
แพ็คเกจนี้สร้างด้วย Cookiecutter และเทมเพลตโปรเจ็กต์ arup-group/cookiecutter-pypackage