91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

二次規劃與線性規劃怎么在Python項目中使用

發布時間:2021-03-22 17:51:56 來源:億速云 閱讀:218 作者:Leah 欄目:開發技術

二次規劃與線性規劃怎么在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],))

關于二次規劃與線性規劃怎么在Python項目中使用問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

上饶市| 济源市| 喀什市| 房山区| 休宁县| 达拉特旗| 永清县| 平和县| 介休市| 儋州市| 淄博市| 紫阳县| 泗水县| 普格县| 彰化市| 开鲁县| 信丰县| 青川县| 隆子县| 财经| 微博| 阿鲁科尔沁旗| 龙山县| 惠水县| 旬阳县| 安宁市| 米脂县| 资源县| 龙岩市| 通州区| 西充县| 彭泽县| 灵台县| 乐业县| 沙河市| 名山县| 如皋市| 琼海市| 博湖县| 博兴县| 重庆市|