国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

量子退火算法入門(2):有約束優(yōu)化問題的QUBO怎么求?

這篇具有很好參考價(jià)值的文章主要介紹了量子退火算法入門(2):有約束優(yōu)化問題的QUBO怎么求?。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

有約束優(yōu)化問題

第一篇文章講述了,怎么從二次多項(xiàng)式獲得QUBO,獲得QUBO后,量子退火法就可以直接給你最優(yōu)解(沒有特殊說明的話,所有的變量都是0或1)。其實(shí),實(shí)際問題一般都是有約束的,比如上篇的例題加上約束條件后。
量子退火算法入門(2):有約束優(yōu)化問題的QUBO怎么求?
這種帶約束的優(yōu)化問題,我們要求出滿足約束條件下的令H值最小的,(x1,x2)的組合。沒有約束的情況,(x1,x2)的組合和H的取值如下表,最優(yōu)解為(x1,x2)=(0,1):
量子退火算法入門(2):有約束優(yōu)化問題的QUBO怎么求?
從上面的表中可以看到,因?yàn)樾枰獫M足約束條件,最優(yōu)解變?yōu)椋▁1,x2)=(0,0)。這道例題變量比較少,可以很快找到滿足約束條件的最優(yōu)解。

其實(shí),正常有約束的優(yōu)化問題會(huì)變換成下面的形式,然后求解。
量子退火算法入門(2):有約束優(yōu)化問題的QUBO怎么求?
其中懲罰函數(shù)g()就是從約束條件獲得。怎么把約束條件轉(zhuǎn)化為懲罰函數(shù)呢?答案就是,把約束條件轉(zhuǎn)化為對(duì)應(yīng)的**【哈密頓算符(Hamiltonian) 】**

約束條件轉(zhuǎn)換為【哈密頓算符H】

我們可以這么想,如果有一個(gè)二次多項(xiàng)式,讓它取最小值的解,剛好是某個(gè)【哈密頓算符H】的最小值(H=0)的解。以上面的約束條件為例:
x 1 ? x 2 x1 \geqslant x2 x1?x2
那么滿足約束條件的(x1, x2)有[ (0, 0), (1, 0), (1, 1) ]三個(gè)組合。逆向思維,這三個(gè)組合會(huì)是哪個(gè)【哈密頓算符H】的最小值的解呢?有興趣的讀者可以自己想一想,這里我直接給出答案。
量子退火算法入門(2):有約束優(yōu)化問題的QUBO怎么求?
上面H=0的解,就是滿足約束條件的,(x1, x2)=[ (0, 0), (1, 0), (1, 1) ]。對(duì)應(yīng)的QUBO矩陣就是。
量子退火算法入門(2):有約束優(yōu)化問題的QUBO怎么求?
這時(shí)候帶有懲罰函數(shù)項(xiàng)的新的H變?yōu)椋?br>量子退火算法入門(2):有約束優(yōu)化問題的QUBO怎么求?

很多讀者到這里,就會(huì)有疑問,每次都要把二次多項(xiàng)式寫成QUBO矩陣的話,很麻煩。能不能直接輸入二項(xiàng)式呢?答案是,可以的。

Pyqubo:自動(dòng)把二次多項(xiàng)式轉(zhuǎn)換為QUBO

# neal是模擬退火的庫 
import neal 
# pyqubo 可以使用Binary定義變量,Constarint定義約束
from pyqubo import Binary, Constraint 
x1, x2 = Binary('x1'), Binary('x2')

# M是約束強(qiáng)度
M = 5.0 
#定義哈密頓算符H
H = 3 * x1**2 - 2 * x2**2 + M * Constraint((x2 - x1*x2), label='x1>=x2') 
model = H.compile()

# 無視offset就行了,QUBO用來做模擬退火的輸入
qubo, offset = model.to_qubo() 
sampler = neal.SimulatedAnnealingSampler()
raw_solution = sampler.sample_qubo(qubo)

raw_solution.first.sample
>>> {'x1': 0, 'x2': 0}

我們可以看到,最后的結(jié)果是(x1, x2)=(0, 0)。確實(shí)是最優(yōu)解。但是M值(就是前面公式里的 λ \lambda λ)如果太小,可能得不到最優(yōu)解。

常見條件約束對(duì)應(yīng)的H

前任栽樹,后人乘涼,常見的約束條件對(duì)應(yīng)的H如下表所示:
量子退火算法入門(2):有約束優(yōu)化問題的QUBO怎么求?
本文介紹了,如何添加約束條件到目標(biāo)函數(shù)中,下篇講一個(gè)經(jīng)典的旅行商最短路徑問題如何建模,求解。文章來源地址http://www.zghlxwxcb.cn/news/detail-413254.html

到了這里,關(guān)于量子退火算法入門(2):有約束優(yōu)化問題的QUBO怎么求?的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 量子退火算法入門(1) : QUBO是什么?

    量子退火算法入門(1) : QUBO是什么?

    量子計(jì)算機(jī)是利用“量子疊加”,“糾纏”等量子力學(xué)現(xiàn)象實(shí)現(xiàn)并行計(jì)算的計(jì)算機(jī)。傳統(tǒng)計(jì)算機(jī)需要大量時(shí)間才能得出答案的問題,量子計(jì)算機(jī)可能會(huì)在短時(shí)間內(nèi)解決,因此有望在各個(gè)領(lǐng)域得到應(yīng)用。根據(jù)解決問題的方法,量子計(jì)算機(jī)可以大致分為量子門法(門:gate)和量子

    2023年04月16日
    瀏覽(21)
  • 帶約束條件的運(yùn)籌規(guī)劃問題求解(模擬退火算法實(shí)現(xiàn))

    超級(jí)簡單的模擬退火算法實(shí)現(xiàn)ε?(? ? )?з搭配最簡單的線性規(guī)劃模型進(jìn)行講解!但是如果需要的話,可以直接修改程序求解非線性問題哦(′つヮ??) [max,f(x)=10x_1+9x_2] (s.t.) [6x_1+5x_2leq{60}tag{1}] [10x_1+20x_2leq{150}tag{2}] [0leq{x_1}leq{8}tag{3}] [0leq{x_2}leq{8}tag{4}] 對(duì)約束

    2023年04月18日
    瀏覽(31)
  • 量子退火Python實(shí)戰(zhàn)(3):投資組合優(yōu)化(Portfolio) MathorCup2023特供PyQUBO教程

    量子退火Python實(shí)戰(zhàn)(3):投資組合優(yōu)化(Portfolio) MathorCup2023特供PyQUBO教程

    提示:包含pyQUBO用法: 最近MathorCup2023的A題剛好是投資組合的QUBO建模,剛好有篇日文文章是講這個(gè)的,直接翻譯過來。供大家參考。【因?yàn)檫€沒有獲得作者同意,暫且沒有把文章設(shè)置為翻譯,之后會(huì)設(shè)置成翻譯,或者再加一下自己的東西變成原創(chuàng)。】 什么是投資組合優(yōu)化?

    2024年02月03日
    瀏覽(19)
  • 模擬退火算法與遺傳算法求解多目標(biāo)優(yōu)化問題的算法實(shí)現(xiàn)(數(shù)學(xué)建模)

    模擬退火算法與遺傳算法求解多目標(biāo)優(yōu)化問題的算法實(shí)現(xiàn)(數(shù)學(xué)建模)

    模擬退火算法是一種全局優(yōu)化算法,解決的問題通常是找到一個(gè)最小化(或最大化)某個(gè)函數(shù)的全局最優(yōu)解。它通過模擬物理退火的過程來搜索解空間,在開始時(shí)以一定的溫度隨機(jī)生成初始解,然后一步步降低溫度,同時(shí)在當(dāng)前解的周圍隨機(jī)搜索新的解,并根據(jù)一定概率接受

    2024年02月02日
    瀏覽(27)
  • Matlab【旅行商問題】—— 基于模擬退火算法的無人機(jī)藥品配送路線最優(yōu)化

    Matlab【旅行商問題】—— 基于模擬退火算法的無人機(jī)藥品配送路線最優(yōu)化

    某市引進(jìn)一架專業(yè)大型無人機(jī)用于緊急狀態(tài)下的藥品投遞,每個(gè)站點(diǎn)只能投放一次,可選擇指派任意站點(diǎn)的無人機(jī)起飛出發(fā)完成投遞任務(wù),但必須在配送完畢后返回原來的站點(diǎn)。站點(diǎn)地理位置坐標(biāo)(單位為公理)如下圖所示。每個(gè)站點(diǎn)及容納的病人數(shù)量見附件.mat數(shù)據(jù),現(xiàn)要求

    2024年02月12日
    瀏覽(24)
  • scipy求解約束無導(dǎo)數(shù)優(yōu)化問題:SHGO算法

    scipy求解約束無導(dǎo)數(shù)優(yōu)化問題:SHGO算法

    SHGO,即simplicial homology global optimize,來自2018年的文章,是一種基于組合拓?fù)鋵W(xué)的優(yōu)化方法,是一個(gè)非常新的算法。 這種算法適用于CDFO(constrained deriviate free optimisation)問題,所謂無導(dǎo)數(shù)優(yōu)化,就是把目標(biāo)函數(shù)當(dāng)作黑箱子處理,而無法獲取其一階導(dǎo)數(shù),自然也不能通過導(dǎo)數(shù)來判

    2024年02月14日
    瀏覽(25)
  • 通用的改進(jìn)遺傳算法求解帶約束的優(yōu)化問題(MATLAB代碼精講、實(shí)際工程經(jīng)驗(yàn)分享)

    通用的改進(jìn)遺傳算法求解帶約束的優(yōu)化問題(MATLAB代碼精講、實(shí)際工程經(jīng)驗(yàn)分享)

    在對(duì)多約束、非線性問題的求解上,傳統(tǒng)線性規(guī)劃等方法往往無法有效求解(求解時(shí)間過長、無法處理非線性約束等。 進(jìn)化算法是一類強(qiáng)有力的工具,已經(jīng)在多個(gè)領(lǐng)域有了較為成功的應(yīng)用。然而,在利用遺傳算法、粒子群等等進(jìn)化算法求解實(shí)際的優(yōu)化問題時(shí),還存在許多困難

    2023年04月19日
    瀏覽(94)
  • 智能優(yōu)化算法學(xué)習(xí)筆記(2)–模擬退火算法(SA)

    智能優(yōu)化算法學(xué)習(xí)筆記(2)–模擬退火算法(SA)

    模擬退火算法( Simulated Annealing ,簡稱 SA )的思想最早是由 Metropolis 等提出的。其出發(fā)點(diǎn)是基于物理中固體物質(zhì)的退火過程與一般的組合優(yōu)化問題之間的相似性。模擬退火算法是一種通用的優(yōu)化算法,其物理退火過程由以下三部分組成: 加溫過程 。其目的是增強(qiáng)粒子的熱運(yùn)

    2024年02月05日
    瀏覽(68)
  • ADMM算法系列1:線性等式或不等式約束下可分離凸優(yōu)化問題的ADMM擴(kuò)展

    ADMM算法系列1:線性等式或不等式約束下可分離凸優(yōu)化問題的ADMM擴(kuò)展

    1 研究背景 ? ? ? 交替方向乘數(shù)法(ADMM)最初由Glowinski和Marrocco提出,用于解決非線性橢圓問題,它已成為解決各種凸優(yōu)化問題的基準(zhǔn)算法。在方法上,可以認(rèn)為ADMM算法是在經(jīng)典增廣拉格朗日方法(ALM)的分裂版本。它已經(jīng)在非常廣泛的領(lǐng)域找到了應(yīng)用,特別是在與數(shù)據(jù)科學(xué)

    2024年02月03日
    瀏覽(19)
  • 智能算法系列之基于粒子群優(yōu)化的模擬退火算法

    智能算法系列之基于粒子群優(yōu)化的模擬退火算法

    ??本篇是智能算法(Python復(fù)現(xiàn))專欄的第四篇文章,主要介紹粒子群優(yōu)化算法與模擬退火算法的結(jié)合,以彌補(bǔ)各自算法之間的不足。 ??在上篇博客【智能算法系列之粒子群優(yōu)化算法】中有介紹到混合粒子群優(yōu)化算法,比如將粒子更新后所獲得的新的粒子,采用模擬退火的思

    2024年02月11日
    瀏覽(43)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包