وثائق CVXPY موجودة على cvxpy.org.
نحن نبني مجتمع CVXPY على Discord. انضم إلى المحادثة! بالنسبة للمشكلات والمناقشات الطويلة، استخدم مشكلات Github ومناقشات Github.
محتويات
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 وصيانته بواسطة ستيفن دايموند، وأكشاي أغراوال، ورايلي موراي، وفيليب شيلي، وبارتولوميو ستيلاتو، وبارث نوبل، مع العديد من الآخرين الذين ساهموا بشكل كبير. قائمة غير شاملة للأشخاص الذين شكلوا CVXPY على مر السنين تشمل ستيفن بويد، وإريك تشو، وروبن فيرشويرين، وجيهيون بارك، وإنزو بوسيتي، وآيه جاي فريند، وجودسون ويلسون، وكريس ديمبيا، ووليام تشانغ.
لمزيد من المعلومات حول الفريق وعملياتنا، راجع وثيقة الحوكمة الخاصة بنا.
إذا كنت تستخدم CVXPY للعمل الأكاديمي، فنحن نشجعك على الاستشهاد بأوراقنا. إذا كنت تستخدم CVXPY في الصناعة، فنحن نود أن نسمع منك أيضًا، على Discord أو عبر البريد الإلكتروني.