最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

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

pip install cvxopt

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

二次型

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

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

2.正定矩陣

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

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

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

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

即在Gx<h 和Ax=b的約束下,最小化目標(biāo)函數(shù)。其中,當(dāng)P是正定矩陣時(shí),目標(biāo)函數(shù)存在全局唯一最優(yōu)解;P是半正定矩陣時(shí),目標(biāo)函數(shù)是凸函數(shù),存在全局最優(yōu)解(不唯一);P是不定矩陣時(shí),目標(biāo)函數(shù)非凸,存在多個(gè)局部最小值和穩(wěn)定點(diǎ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.對(duì)于一個(gè)給定的二次規(guī)劃問題,先轉(zhuǎn)換為標(biāo)準(zhǔn)形式(參見數(shù)學(xué)基礎(chǔ)中所講的二次型二中形式轉(zhuǎn)換)

2.對(duì)照標(biāo)準(zhǔn)形勢(shì),構(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是一個(gè)字典,我們可直接獲得其某個(gè)屬性,e.g. print(result['x'])

下面我們來看一個(gè)例子

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),等價(jià)于A = matrix([[1.0],[1.0]])
b = matrix([1.0])
result = solvers.qp(P,q,G,h,A,b)
 
print('x\n',result['x'])

運(yùn)行結(jié)果:

注意事項(xiàng):

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

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)

運(yùn)行結(jié)果:

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

相關(guān)文章

  • Python實(shí)例方法、類方法、靜態(tài)方法的區(qū)別與作用詳解

    Python實(shí)例方法、類方法、靜態(tài)方法的區(qū)別與作用詳解

    這篇文章主要介紹了Python實(shí)例方法、類方法、靜態(tài)方法的區(qū)別與作用,結(jié)合實(shí)例形式分析了Python面向?qū)ο蟪绦蛟O(shè)計(jì)中實(shí)例方法、類方法、靜態(tài)方法的概念、原理、用法及相關(guān)操作技巧,需要的朋友可以參考下
    2019-03-03
  • python多進(jìn)程讀圖提取特征存npy

    python多進(jìn)程讀圖提取特征存npy

    這篇文章主要為大家詳細(xì)介紹了python多進(jìn)程讀圖提取特征存npy,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-05-05
  • Python基于BeautifulSoup和requests實(shí)現(xiàn)的爬蟲功能示例

    Python基于BeautifulSoup和requests實(shí)現(xiàn)的爬蟲功能示例

    這篇文章主要介紹了Python基于BeautifulSoup和requests實(shí)現(xiàn)的爬蟲功能,結(jié)合實(shí)例形式分析了Python使用BeautifulSoup和requests庫爬取網(wǎng)站指定信息的相關(guān)操作技巧,需要的朋友可以參考下
    2019-08-08
  • Python開發(fā).exe小工具的詳細(xì)步驟

    Python開發(fā).exe小工具的詳細(xì)步驟

    這篇文章主要介紹了Python開發(fā).exe小工具的詳細(xì)步驟,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-01-01
  • opencv與numpy的圖像基本操作

    opencv與numpy的圖像基本操作

    這篇文章主要介紹了opencv與numpy的圖像基本操作,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • Python基于easygui實(shí)現(xiàn)pdf和word轉(zhuǎn)換小程序

    Python基于easygui實(shí)現(xiàn)pdf和word轉(zhuǎn)換小程序

    這篇文章主要為大家詳細(xì)介紹了Python如何基于easygui實(shí)現(xiàn)pdf和word轉(zhuǎn)換小程序,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-04-04
  • Python極值整數(shù)的邊界探討分析

    Python極值整數(shù)的邊界探討分析

    這篇文章主要介紹了Python極值整數(shù)的邊界探討分析,閱讀本文來一起領(lǐng)略Python中的極值,看一下Python整數(shù)是否有邊界,有需要的朋友可以借鑒參考下
    2021-09-09
  • Python 字符串去除空格的五種方法

    Python 字符串去除空格的五種方法

    這篇文章主要介紹了Python 字符串去除空格的五種方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • python 數(shù)據(jù)生成excel導(dǎo)出(xlwt,wlsxwrite)代碼實(shí)例

    python 數(shù)據(jù)生成excel導(dǎo)出(xlwt,wlsxwrite)代碼實(shí)例

    這篇文章主要介紹了python 數(shù)據(jù)生成excel導(dǎo)出(xlwt,wlsxwrite)代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-08-08
  • 用pandas按列合并兩個(gè)文件的實(shí)例

    用pandas按列合并兩個(gè)文件的實(shí)例

    下面小編就為大家分享一篇用pandas按列合并兩個(gè)文件的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-04-04

最新評(píng)論

赫章县| 桦南县| 安龙县| 永胜县| 弥渡县| 堆龙德庆县| 隆子县| 金阳县| 左云县| 宁乡县| 亚东县| 错那县| 密云县| 保定市| 延庆县| 昌吉市| 平乐县| 杭锦后旗| 苗栗市| 汉中市| 逊克县| 涟水县| 峨眉山市| 锦州市| 洛隆县| 阳高县| 香港| 美姑县| 吉水县| 同仁县| 焦作市| 佳木斯市| 页游| 渭南市| 莱阳市| 沂源县| 舟曲县| 广安市| 三河市| 盈江县| 襄垣县|