久久福利_99r_国产日韩在线视频_直接看av的网站_中文欧美日韩_久久一

您的位置:首頁技術(shù)文章
文章詳情頁

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

瀏覽:7日期:2022-08-05 09:39:49

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

pip install cvxopt

一、數(shù)學(xué)基礎(chǔ)

二次型

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

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

亦可寫作,使用python求解二次規(guī)劃的問題 ,稱作二次型的矩陣表示,其中A是對稱矩陣。仿照如下的定義,我們可以直接在其基本形式和矩陣表示之間相互轉(zhuǎn)化。

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

2.正定矩陣

設(shè)A是n階實對稱矩陣, 如果對任意一非零實向量X,都使二次型使用python求解二次規(guī)劃的問題 成立,則稱f(X)為正定二次型,矩陣A稱為正定矩陣(Positive Definite),A為正定矩陣。

相應(yīng)的,如果對任意一非零實向量X,都使二次型使用python求解二次規(guī)劃的問題成立,則稱f(X)為半正定二次型,A為半正定矩陣。

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

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

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

即在Gx<h 和Ax=b的約束下,最小化目標(biāo)函數(shù)。其中,當(dāng)P是正定矩陣時,目標(biāo)函數(shù)存在全局唯一最優(yōu)解;P是半正定矩陣時,目標(biāo)函數(shù)是凸函數(shù),存在全局最優(yōu)解(不唯一);P是不定矩陣時,目標(biāo)函數(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ī)劃問題標(biāo)準(zhǔn)形式。

編程求解思路:

1.對于一個給定的二次規(guī)劃問題,先轉(zhuǎn)換為標(biāo)準(zhǔn)形式(參見數(shù)學(xué)基礎(chǔ)中所講的二次型二中形式轉(zhuǎn)換)

2.對照標(biāo)準(zhǔn)形勢,構(gòu)建出矩陣P,q,G,h,A,b

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

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

下面我們來看一個例子

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

import pprintfrom cvxopt import matrix, solversP = 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(’xn’,result[’x’])

運行結(jié)果:

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

注意事項:

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

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

運行結(jié)果:

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

以上這篇使用python求解二次規(guī)劃的問題就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 国产精品三级在线 | 久久久久久久久久国产精品 | 色综合色综合 | 久久久精品456亚洲影院 | 国产成人午夜视频 | 国产免费一区二区三区最新不卡 | 欧美亚洲日本 | 日韩一区二区视频 | 激情久久av一区av二区av三区 | 亚洲视频免费看 | 久久精品国产免费 | 亚洲国产精品一区二区三区 | 日韩亚洲 | 欧美一级淫片免费视频黄 | 日韩一区免费在线观看 | 精久久| 亚洲欧洲在线观看 | 亚洲 欧美 日韩 丝袜 另类 | 91精品国产综合久久久久久漫画 | 成人在线影视 | 99精品久久久 | 欧美午夜精品一区二区三区电影 | 亚洲日本乱码一区两区在线观看 | 国产欧美一二三区在线粉嫩 | 欧美日韩另类在线 | 欧美日韩亚洲视频 | 亚洲欧洲在线观看 | 黄在线免费观看 | 午夜精品久久久久久久久久久久 | 久热免费在线观看 | 久久久精品国产 | 日韩av高清在线 | 欧美一级性| www.久久精品 | 人人看人人插 | 欧美久久久 | 国产午夜精品美女视频明星a级 | 天堂一区二区三区 | 97成人精品视频在线观看 | 99精品国产热久久91蜜凸 | 天天舔夜夜操 |