国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > Python > 正文

Python二次規劃和線性規劃使用實例

2024-09-09 19:03:09
字體:
來源:轉載
供稿:網友

這篇文章主要介紹了Python二次規劃和線性規劃使用實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

對于二次規劃(quadratic programming)和線性規劃(Linear Programming)問題

MATLAB里是有quadprog函數可以直接用來解決二次規劃問題的,linprog函數來解決線性規劃問題。Python中也有很多庫用來解決,對于二次規劃有CVXOPT, CVXPY, Gurobi, MOSEK, qpOASES 和 quadprog; 對于線性規劃有Gurobi,PuLP, cvxopt。

目前發現quadprog進行pip install quadprog不成功,而cvxopt成功了,就先說cvxopt的使用。

安裝

conda install -c conda-forge cvxopt

安裝非常順利

使用

cvxopt有自己的matrix格式,因此使用前得包裝一下

對于二次規劃:

def cvxopt_solve_qp(P, q, G=None, h=None, A=None, b=None):  P = .5 * (P + P.T) # make sure P is symmetric  args = [cvxopt.matrix(P), cvxopt.matrix(q)]  if G is not None:    args.extend([cvxopt.matrix(G), cvxopt.matrix(h)])    if A is not None:      args.extend([cvxopt.matrix(A), cvxopt.matrix(b)])  sol = cvxopt.solvers.qp(*args)  if 'optimal' not in sol['status']:    return None  return np.array(sol['x']).reshape((P.shape[1],))

對于線性規劃:

def cvxopt_solve_lp(f, A, b):  #args = [cvxopt.matrix(f), cvxopt.matrix(A), cvxopt.matrix(b)]  #cvxopt.solvers.lp(*args)  sol = cvxopt.solvers.lp(cvxopt.matrix(f), cvxopt.matrix(A), cvxopt.matrix(b))  return np.array(sol['x']).reshape((f.shape[0],))

參考:

Quadratic Programming in Python

Linear Programming in Python with CVXOPT

cvxopt.org

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網之家。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 辉南县| 通江县| 股票| 苗栗市| 满城县| 昭平县| 高安市| 崇州市| 邵武市| 樟树市| 黎城县| 金湖县| 泾源县| 三原县| 兴山县| 太原市| 广州市| 开平市| 金坛市| 疏勒县| 黄平县| 景泰县| 黎平县| 伊通| 育儿| 赣榆县| 霍州市| 靖安县| 徐汇区| 罗平县| 南宁市| 乐平市| 蓬莱市| 石楼县| 民丰县| 镇赉县| 沛县| 辽阳市| 松阳县| 罗江县| 天全县|