Egret เป็นแพ็คเกจที่ใช้งูหลามสำหรับการเพิ่มประสิทธิภาพกริดไฟฟ้าตามภาษาการสร้างแบบจำลองการเพิ่มประสิทธิภาพของ Pyomo Egret ได้รับการออกแบบให้เป็นมิตรสำหรับการวิเคราะห์ระดับสูง (เช่นเป็นเครื่องยนต์สำหรับการแก้สูตรการเพิ่มประสิทธิภาพที่แตกต่างกัน) ในขณะที่ยังให้ความยืดหยุ่นสำหรับนักวิจัยในการสำรวจสูตรการเพิ่มประสิทธิภาพใหม่อย่างรวดเร็ว
คุณสมบัติที่สำคัญ:
Egret สามารถใช้ได้ภายใต้ใบอนุญาต BSD (ดู License.txt)
Egret เป็นแพ็คเกจ Python และต้องมีการติดตั้ง Python เราขอแนะนำให้ใช้ Anaconda กับ Python ล่าสุด (https://www.anaconda.com/distribution/)
คำแนะนำการติดตั้งเหล่านี้สมมติว่าคุณมีการติดตั้ง Pyomo เวอร์ชันล่าสุดนอกเหนือจากชุดของตัวแก้ปัญหาที่เกี่ยวข้อง (ดู www.pyomo.org สำหรับรายละเอียดเพิ่มเติม)
ดาวน์โหลด (หรือโคลน) EGRET จากไซต์ GitHub นี้
จากโฟลเดอร์ Egret หลัก (เช่นโฟลเดอร์ที่มี setup.py) ใช้เทอร์มินัล (หรือพรอมต์ Anaconda สำหรับผู้ใช้ Windows) เพื่อเรียกใช้ setup.py เพื่อติดตั้ง egret ลงในการติดตั้ง Python ของคุณ - ดังนี้:
pip install -e .
นอกจากนี้เราขอแนะนำให้ผู้ใช้ Egret ติดตั้ง Open Source CBC MIP Solver กลไกเฉพาะของการติดตั้ง CBC นั้นเฉพาะแพลตฟอร์ม เมื่อใช้ Anaconda บนแพลตฟอร์ม Linux และ Mac สิ่งนี้สามารถทำได้ง่ายๆโดย:
conda install -c conda-forge coincbc
Coin-Or Organization-WHO Developers CBC-ยังมีไบนารีที่สร้างไว้ล่วงหน้าสำหรับแพลตฟอร์มเต็มรูปแบบบน https://bintray.com/coin-or/Download
ในการทดสอบฟังก์ชั่นการทำงานของหน่วยความมุ่งมั่นของหน่วยของ egret ให้ดำเนินการคำสั่งต่อไปนี้จากรุ่นย่อย/การทดสอบไดเรกทอรีย่อย:
pytest test_unit_commitment.py
หาก Egret สามารถค้นหาตัวแก้ MIP เชิงพาณิชย์ในระบบของคุณผ่าน Pyomo Egret จะดำเนินการชุดทดสอบขนาดใหญ่รวมถึงการแก้ MIPs หลายอย่างเพื่อการเพิ่มประสิทธิภาพ หาก Egret สามารถหาตัวแก้ปัญหาโอเพนซอร์ซเท่านั้นมันจะดำเนินการชุดทดสอบที่ จำกัด มากขึ้นซึ่งส่วนใหญ่อาศัยการแก้ปัญหาการผ่อนคลาย LP ตัวอย่างเอาต์พุตอยู่ด้านล่าง
=================================== test session starts ==================================
platform darwin -- Python 3.7.7, pytest-5.4.2, py-1.8.1, pluggy-0.13.0
rootdir: /home/some-user/egret
collected 21 items
test_unit_commitment.py s.................... [100%]
========================= 20 passed, 1 skipped in 641.80 seconds =========================
หากคุณใช้ฟังก์ชั่นความมุ่งมั่นของหน่วยของ egret โปรดอ้างอิงกระดาษต่อไปนี้:
ในสูตรการเขียนโปรแกรมแบบผสมผสานสำหรับปัญหาความมุ่งมั่นของหน่วย Bernard Knueven, James Ostrowski และ Jean-Paul Watson แจ้งวารสารเกี่ยวกับการคำนวณ (ก่อนการพิมพ์) https://pubsonline.informs.org/doi/10.1287/ijoc.2019.0944