เอกสาร CVXPY อยู่ที่ cvxpy.org
เรากำลังสร้างชุมชน CVXPY บน Discord เข้าร่วมการสนทนา! สำหรับปัญหาและการสนทนาในรูปแบบยาว ให้ใช้ Github Issues และ Github Discussions
สารบัญ
CVXPY เป็นภาษาการสร้างแบบจำลองที่ฝังด้วย Python สำหรับปัญหาการปรับให้เหมาะสมแบบนูน ช่วยให้คุณสามารถแสดงปัญหาของคุณในลักษณะที่เป็นธรรมชาติตามหลักคณิตศาสตร์ แทนที่จะแสดงในรูปแบบมาตรฐานที่เข้มงวดซึ่งนักแก้ปัญหากำหนด
ตัวอย่างเช่น รหัสต่อไปนี้แก้ปัญหากำลังสองน้อยที่สุดซึ่งตัวแปรถูกจำกัดด้วยขอบเขตล่างและบน:
import cvxpy as cp
import numpy
# Problem data.
m = 30
n = 20
numpy . random . seed ( 1 )
A = numpy . random . randn ( m , n )
b = numpy . random . randn ( m )
# Construct the problem.
x = cp . Variable ( n )
objective = cp . Minimize ( cp . sum_squares ( A @ x - b ))
constraints = [ 0 <= x , x <= 1 ]
prob = cp . Problem ( objective , constraints )
# The optimal objective is returned by prob.solve().
result = prob . solve ()
# The optimal value for x is stored in x.value.
print ( x . value )
# The optimal Lagrange multiplier for a constraint
# is stored in constraint.dual_value.
print ( constraints [ 0 ]. dual_value )
ด้วย CVXPY คุณสามารถสร้างโมเดลได้
CVXPY ไม่ใช่ตัวแก้ปัญหา มันอาศัยตัวแก้ปัญหาโอเพ่นซอร์ส Clarabel, SCS และ OSQP มีตัวแก้ปัญหาเพิ่มเติมให้ใช้งาน แต่ต้องติดตั้งแยกต่างหาก
CVXPY เริ่มต้นจากโครงการวิจัยของมหาวิทยาลัยสแตนฟอร์ด ปัจจุบันได้รับการพัฒนาโดยผู้คนจำนวนมาก ในหลายสถาบันและประเทศต่างๆ
CVXPY พร้อมใช้งานบน PyPI และสามารถติดตั้งได้
pip install cvxpy
CVXPY สามารถติดตั้งด้วย conda ได้โดยใช้
conda install -c conda-forge cvxpy
CVXPY มีการขึ้นต่อกันดังต่อไปนี้:
สำหรับคำแนะนำโดยละเอียด โปรดดูคู่มือการติดตั้ง
หากต้องการเริ่มต้นกับ CVXPY โปรดดูสิ่งต่อไปนี้:
เราขอแนะนำให้คุณรายงานปัญหาโดยใช้เครื่องมือติดตาม Github เรายินดีรับทุกปัญหา โดยเฉพาะปัญหาที่เกี่ยวข้องกับความถูกต้อง เอกสาร ประสิทธิภาพ และคำขอฟีเจอร์
สำหรับคำถามการใช้งานพื้นฐาน (เช่น "เหตุใด DCP ของฉันจึงไม่เป็นปัญหา") โปรดใช้ StackOverflow แทน
ชุมชน CVXPY ประกอบด้วยนักวิจัย นักวิทยาศาสตร์ข้อมูล วิศวกรซอฟต์แวร์ และนักศึกษาจากทั่วทุกมุมโลก เรายินดีต้อนรับคุณเข้าร่วมกับเรา!
โปรดให้ความเคารพในการสื่อสารของคุณกับชุมชน CVXPY และอย่าลืมปฏิบัติตามหลักจรรยาบรรณของเรา
เราขอขอบคุณการมีส่วนร่วมทั้งหมด คุณไม่จำเป็นต้องเป็นผู้เชี่ยวชาญในการเพิ่มประสิทธิภาพส่วนนูนเพื่อช่วยเหลือ
คุณควรติดตั้ง CVXPY จากแหล่งที่มาก่อน ต่อไปนี้เป็นวิธีง่ายๆ ในการเริ่มมีส่วนร่วมทันที:
หากคุณต้องการเพิ่มตัวอย่างใหม่ลงในห้องสมุดของเรา หรือใช้คุณลักษณะใหม่ โปรดติดต่อเราก่อนเพื่อให้แน่ใจว่าลำดับความสำคัญของคุณสอดคล้องกับของเรา
ควรส่งผลงานเป็นการร้องขอดึง สมาชิกของทีมพัฒนา CVXPY จะตรวจสอบคำขอดึงและแนะนำคุณตลอดกระบวนการมีส่วนร่วม
ก่อนที่จะเริ่มดำเนินการบริจาคของคุณ โปรดอ่านคู่มือการบริจาคก่อน
CVXPY เป็นโครงการชุมชนที่สร้างขึ้นจากการมีส่วนร่วมของนักวิจัยและวิศวกรจำนวนมาก
CVXPY ได้รับการพัฒนาและดูแลโดย Steven Diamond, Akshay Agrawal, Riley Murray, Philipp Schiele, Bartolomeo Stellato และ Parth Nobel พร้อมด้วยคนอื่นๆ อีกมากมายที่มีส่วนร่วมอย่างมีนัยสำคัญ รายชื่อบุคคลที่มีอิทธิพลต่อ CVXPY ในช่วงหลายปีที่ผ่านมา ได้แก่ Stephen Boyd, Eric Chu, Robin Verschueren, Jaehyun Park, Enzo Busseti, AJ Friend, Judson Wilson, Chris Dembia และ William Zhang
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับทีมและกระบวนการของเรา โปรดดูเอกสารการกำกับดูแลของเรา
หากคุณใช้ CVXPY สำหรับงานวิชาการ เราขอแนะนำให้คุณอ้างอิงเอกสารของเรา หากคุณใช้ CVXPY ในอุตสาหกรรม เรายินดีรับฟังจากคุณเช่นกันทาง Discord หรือทางอีเมล