亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

使用python求解二次規(guī)劃的問題

 更新時間:2020年02月29日 12:49:29   作者:goodxin_ie  
今天小編就為大家分享一篇使用python求解二次規(guī)劃的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

Python中支持Convex Optimization(凸規(guī)劃)的模塊為CVXOPT,其安裝方式為:

pip install cvxopt

一、數(shù)學基礎

二次型

二次型(quadratic form):n個變量的二次多項式稱為二次型,即在一個多項式中,未知數(shù)的個數(shù)為任意多個,但每一項的次數(shù)都為2的多項式。其基本形式如下

亦可寫作, ,稱作二次型的矩陣表示,其中A是對稱矩陣。仿照如下的定義,我們可以直接在其基本形式和矩陣表示之間相互轉化。

2.正定矩陣

設A是n階實對稱矩陣, 如果對任意一非零實向量X,都使二次型 成立,則稱f(X)為正定二次型,矩陣A稱為正定矩陣(Positive Definite),A為正定矩陣。

相應的,如果對任意一非零實向量X,都使二次型成立,則稱f(X)為半正定二次型,A為半正定矩陣。

3.二次規(guī)劃問題

二次規(guī)劃是指,帶有二次型目標函數(shù)和約束條件的最優(yōu)化問題。其標準形式如下:

即在Gx<h 和Ax=b的約束下,最小化目標函數(shù)。其中,當P是正定矩陣時,目標函數(shù)存在全局唯一最優(yōu)解;P是半正定矩陣時,目標函數(shù)是凸函數(shù),存在全局最優(yōu)解(不唯一);P是不定矩陣時,目標函數(shù)非凸,存在多個局部最小值和穩(wěn)定點,為np難問題。(本篇博客中我們不考慮非正定情況)。

二、python程序求解

工具包:Cvxopt python 凸優(yōu)化包

函數(shù)原型:Cvxopt.solvers.qp(P,q,G,h,A,b)

P,q,G,h,A,b的含義參見上面的二次規(guī)劃問題標準形式。

編程求解思路:

1.對于一個給定的二次規(guī)劃問題,先轉換為標準形式(參見數(shù)學基礎中所講的二次型二中形式轉換)

2.對照標準形勢,構建出矩陣P,q,G,h,A,b

3.調用result=Cvxopt.solvers.qp(P,q,G,h,A,b)求解

4.print(result)查看結果,其中result是一個字典,我們可直接獲得其某個屬性,e.g. print(result['x'])

下面我們來看一個例子

import pprint
from cvxopt import matrix, solvers
P = matrix([[4.0,1.0],[1.0,2.0]])
q = matrix([1.0,1.0])
G = matrix([[-1.0,0.0],[0.0,-1.0]])
h = matrix([0.0,0.0])
A = matrix([1.0,1.0],(1,2))#原型為cvxopt.matrix(array,dims),等價于A = matrix([[1.0],[1.0]])
b = matrix([1.0])
result = solvers.qp(P,q,G,h,A,b)
 
print('x\n',result['x'])

運行結果:

注意事項:

cvxopt.matrix與numpy.matrix的排列順序不同,其中cvxopt.matrix是列優(yōu)先,numpy.matrix是行優(yōu)先。具體可見下面實例

import numpy as np
from cvxopt import matrix
a = np.matrix([[1,2],[3,4]])
b = matrix([[1,2],[3,4]])
print('numpy.matrix',a)
print('cvxopt.matrix',b)

運行結果:

以上這篇使用python求解二次規(guī)劃的問題就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • 如何讀取.npy文件以及如何實現(xiàn)將數(shù)組保存為圖片

    如何讀取.npy文件以及如何實現(xiàn)將數(shù)組保存為圖片

    這篇文章主要介紹了如何讀取.npy文件以及如何實現(xiàn)將數(shù)組保存為圖片問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-02-02
  • 利用 Python 實現(xiàn)隨機相對強弱指數(shù) StochRSI

    利用 Python 實現(xiàn)隨機相對強弱指數(shù) StochRSI

    隨機相對強弱指數(shù)簡稱為StochRSI,是一種技術分析指標,用于確定資產是否處于超買或超賣狀態(tài),也用于確定當前市場的態(tài)勢。本篇文章小編九來為大家介紹隨機相對強弱指數(shù)簡稱為StochRSI,需要的朋友可以參考下面文章的具體內容
    2021-09-09
  • 詳解Python發(fā)送email的三種方式

    詳解Python發(fā)送email的三種方式

    這篇文章主要介紹了詳解Python發(fā)送email的三種方式,Python發(fā)送email的三種方式,分別為使用登錄郵件服務器、使用smtp服務、調用sendmail命令來發(fā)送三種方法,非常具有實用價值,需要的朋友可以參考下
    2018-10-10
  • python利用蒙版摳圖(使用PIL.Image和cv2)輸出透明背景圖

    python利用蒙版摳圖(使用PIL.Image和cv2)輸出透明背景圖

    這篇文章主要介紹了python利用蒙版摳圖(使用PIL.Image和cv2)輸出透明背景圖,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-08-08
  • Pytorch復現(xiàn)擴散模型的示例詳解

    Pytorch復現(xiàn)擴散模型的示例詳解

    這篇文章主要為大家詳細介紹了如何利用Pytorch復現(xiàn)擴散模型,文中的示例代碼講解詳細,具有一定的學習價值,感興趣的可以跟隨小編一起了解一下
    2023-04-04
  • python中文文本切詞Kmeans聚類

    python中文文本切詞Kmeans聚類

    這篇文章主要為大家介紹了python中文文本切詞Kmeans聚類的示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-05-05
  • django認證系統(tǒng)實現(xiàn)自定義權限管理的方法

    django認證系統(tǒng)實現(xiàn)自定義權限管理的方法

    今天小編就為大家分享一篇django認證系統(tǒng)實現(xiàn)自定義權限管理的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-08-08
  • python刪除某個目錄文件夾的方法

    python刪除某個目錄文件夾的方法

    在本篇文章里小編給大家分享的是關于python刪除某個目錄文件夾的方法,有興趣的朋友們可以學習下。
    2020-05-05
  • Python函數(shù)中定義參數(shù)的四種方式

    Python函數(shù)中定義參數(shù)的四種方式

    有些時候看到函數(shù)傳參數(shù)的時候參數(shù)前面加一個星號*或者兩個星號**,這是什么意思? 下面來總結下
    2014-11-11
  • 解決pycharm臨時打包32位程序的問題

    解決pycharm臨時打包32位程序的問題

    這篇文章主要介紹了解決pycharm臨時打包32位程序的問題,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-04-04

最新評論