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

數(shù)學(xué)建模|多目標(biāo)規(guī)劃+序貫算法|簡要原理+實(shí)例matalb代碼實(shí)現(xiàn)

這篇具有很好參考價(jià)值的文章主要介紹了數(shù)學(xué)建模|多目標(biāo)規(guī)劃+序貫算法|簡要原理+實(shí)例matalb代碼實(shí)現(xiàn)。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

1. 核心原理簡介

1.1 三個(gè)重要概念

(1) 正負(fù)偏差變量

【衡量每個(gè)目標(biāo)的完成情況】

設(shè)??為第i個(gè)目標(biāo)函數(shù)的實(shí)際值;

設(shè)??表示??的目標(biāo)值

  • 正偏差變量optimvar,Matlab學(xué)習(xí),算法,matlab? 【表示實(shí)際值超過目標(biāo)值的部分】

?optimvar,Matlab學(xué)習(xí),算法,matlab

  • ?負(fù)偏差變量?【表示實(shí)際值未達(dá)到目標(biāo)值的部分】

?

?實(shí)例說明:

目標(biāo)函數(shù)實(shí)際值 目標(biāo)值

正偏差變量

optimvar,Matlab學(xué)習(xí),算法,matlab

負(fù)偏差變量

意義
收入50萬 不少于60萬 0 10 未到達(dá)還有10萬
收入70萬 10 0 超出10萬

?(2)?絕對約束與目標(biāo)約束

  • 絕對約束

【必須要滿足的條件】

  • 目標(biāo)約束

【允許有偏差→利用正負(fù)偏差變量】

實(shí)例說明:【含有“盡可能”、“盡量”等關(guān)鍵詞】

盡可能使利潤不低于56萬


(3)優(yōu)先因子

【類似“權(quán)重”】

給每一個(gè)目標(biāo)一個(gè)優(yōu)先因子P,僅僅是確定各目標(biāo)的求解次序


?1.2 序貫算法

【將之前的單目標(biāo)最優(yōu)解變成下一個(gè)目標(biāo)的約束條件,然后迭代這個(gè)過程】

1.根據(jù)模型中各個(gè)目標(biāo)的優(yōu)先級(優(yōu)先因子),確定各目標(biāo)的求解次序

2.求第一級單目標(biāo)規(guī)劃的最優(yōu)值(注意要先給最優(yōu)解附一個(gè)初值

3.以第一 級單目標(biāo)等于最優(yōu)值為新的約束條件,求第二級目標(biāo)最優(yōu)值記為

4.依次遞推,直到所有目標(biāo)都求完或不存在可行解為止


2. 實(shí)例建模過程

2.1 實(shí)例

某工廠生產(chǎn)產(chǎn)品1和產(chǎn)品2,有關(guān)數(shù)據(jù)如下,請給出方案,設(shè)計(jì)每天生產(chǎn)產(chǎn)品1、2各多少時(shí),滿足下面的要求:

optimvar,Matlab學(xué)習(xí),算法,matlab

現(xiàn)在的要求是:optimvar,Matlab學(xué)習(xí),算法,matlab


2.2 建模過程

?(1)分析問題(翻譯成數(shù)學(xué)語言)

  • 根據(jù)原材料擁有量

optimvar,Matlab學(xué)習(xí),算法,matlab

  • 根據(jù)生產(chǎn)能力

optimvar,Matlab學(xué)習(xí),算法,matlab

  • 根據(jù)具體要求(因?yàn)閹в小?strong>盡可能”關(guān)鍵詞,為目標(biāo)約束)

optimvar,Matlab學(xué)習(xí),算法,matlab


(2)引入正負(fù)變差變量?

optimvar,Matlab學(xué)習(xí),算法,matlab? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??optimvar,Matlab學(xué)習(xí),算法,matlab

以上不等式變形順序?qū)?yīng)

  • 第一個(gè)不等式:因?yàn)槭恰?,所以要求正偏差變量要最?/li>
  • 第二個(gè)不等式:因?yàn)槭?,所以要求正偏差和負(fù)偏差都要小,所以求和要最小
  • 第三個(gè)不等式:因?yàn)槭恰?,所以要求?fù)偏差變量要最小

所以得到目標(biāo)函數(shù):

optimvar,Matlab學(xué)習(xí),算法,matlab?

P僅僅是優(yōu)先因子,僅僅決定后面多目標(biāo)求解順序,而不是真正意義上的權(quán)重值

根據(jù)1中原理介紹偏差變量,目標(biāo)函數(shù)看似沒有包含變量x,實(shí)則每一個(gè)偏差變量都要利用x計(jì)算?


(3)模型總結(jié)?

  • 目標(biāo)函數(shù):

optimvar,Matlab學(xué)習(xí),算法,matlab

  • ?約束條件:

optimvar,Matlab學(xué)習(xí),算法,matlab

?“多退少補(bǔ)”原則【將目標(biāo)約束中的不等式變成等式】

optimvar,Matlab學(xué)習(xí),算法,matlab?表示:減去“超過”的,加上“未達(dá)到


3. Matlab實(shí)現(xiàn)

?3.1 代碼

clc,clear
%初始化優(yōu)化問題框架

%創(chuàng)建優(yōu)化變量
%%2個(gè)產(chǎn)品【用x表示】【最小值=0】
x = optimvar('x',2,'LowerBound',0);
%%3個(gè)目標(biāo)函數(shù)的正偏差變量 【最小值=0】
dp = optimvar('dp',3,'LowerBound',0);
%%3個(gè)目標(biāo)函數(shù)的負(fù)偏差變量 【最小值=0】
dm = optimvar('dm',3,'LowerBound',0);

%創(chuàng)建優(yōu)化問題對象
p = optimproblem('ObjectiveSense','min');

%設(shè)置約束條件

%%設(shè)置絕對約束
p.Constraints.cons1 = (2*x(1)+x(2)<=11);
%%設(shè)置3個(gè)目標(biāo)約束
p.Constraints.cons2 = [x(1)-x(2)-dp(1)+dm(1)==0
                       x(1)+2*x(2)-dp(2)+dm(2)==10
                       8*x(1)+10*x(2)-dp(3)+dm(3)==56];

%設(shè)置目標(biāo)函數(shù)
obj = [dp(1);dm(2)+dp(2);dm(3)];

% 單級目標(biāo)函數(shù)的最優(yōu)值goal,初始設(shè)為足夠大的數(shù)
% 非常寬松的約束就等于沒有約束,確保第一級的正常運(yùn)算
goal=100000*ones(3,1);

%序貫算法(迭代最優(yōu))
for i=1:3
    % 重要:更新上一級的最優(yōu)值,作為該級的約束條件;
    p.Constraints.cons3=[obj<=goal];
    p.Objective = obj(i);
    %求解【 針對優(yōu)化問題使用solve,會自動(dòng)選擇求解方式】
    [sx,fval] = solve(p);
    %【下面兩行可注釋】只是展示每一次迭代結(jié)果
    fprintf('第%d級目標(biāo)求解為:\n',i)
    fval, xx=sx.x, sdm=sx.dm, sdp=sx.dp
    %sx類似于python中創(chuàng)建的類【這里指優(yōu)化類】
    %x(最后得到的優(yōu)化方案)、dm(負(fù)偏差變量)、dp(正偏差變量)為3個(gè)sx下的對象
    goal(i) = fval;
end

3.2 結(jié)果展示

optimvar,Matlab學(xué)習(xí),算法,matlab

?表示:每天應(yīng)生產(chǎn)產(chǎn)品一2件,產(chǎn)品二4件


4. 總結(jié)

(1)問題函數(shù)optimproblem【用來創(chuàng)建優(yōu)化問題】

prob=optimproblem('ObjectiveSense','max');
  • ObjectiveSense是目標(biāo)類型,后面跟的‘max’為求最大優(yōu)化

  • 默認(rèn)為求min


(2)?求解函數(shù)`optimvar`【一種類似于賦值的函數(shù)】

x=optimvar('x',1,2,'TYPE','integer','LowerBound',0,'UpperBound',inf);
  • 第一個(gè)‘x’里面是變量名,后面 1 2 為變量的行 列

  • ‘TYPE’,后面定義的是該函數(shù)所屬類型,比如說integer整數(shù)型,double雙精度型號等

  • ‘LowerBound'下界;'UpperBound'上界

(3)?設(shè)置約束條件prob.Constraints.cons1

p.Constraints.cons1 = ( 2*x(1)+x(2)<=11 )

p.Constraints.cons2=[x(1)-x(2)+dm(1)-dp(1)==0       
                     x(1)+2*x(2)+dm(2)-dp(2)==10
                     8*x(1)+10*x(2)+dm(3)-dp(3)==56];
  • p為優(yōu)化問題創(chuàng)建的對象


(4)?設(shè)置目標(biāo)函數(shù)pro.Objective

obj=[dp(1); dm(2)+dp(2); dm(3)];
p.Objective=obj(i);
  • p為優(yōu)化問題創(chuàng)建的對象


(5)?sovle函數(shù)求解

[sx,fval]=solve(p);
  • p為優(yōu)化問題創(chuàng)建的對象

  • sx為最優(yōu)值變量(理想)

  • fval為在最優(yōu)變量下的目標(biāo)函數(shù)值文章來源地址http://www.zghlxwxcb.cn/news/detail-657514.html

到了這里,關(guān)于數(shù)學(xué)建模|多目標(biāo)規(guī)劃+序貫算法|簡要原理+實(shí)例matalb代碼實(shí)現(xiàn)的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • 數(shù)學(xué)建模:多目標(biāo)優(yōu)化算法

    ?? 文章首發(fā)于我的個(gè)人博客:歡迎大佬們來逛逛 算法流程: 兩個(gè)目標(biāo)權(quán)重求和,化為單目標(biāo)函數(shù),然后求解最優(yōu)值 min ? x ∑ i = 1 m w i F i ( x ) ?s.t.? g ( x ) ? 0 h ( x ) = 0 begin{array}{ll}min _{x} sum_{i=1}^{m} {w_{i} F_{i}(x)} \\\\\\\\text { s.t. } g(x) leqslant 0 \\\\\\\\ h(x)=0end{array} min x ? ?s.t.?

    2024年02月08日
    瀏覽(24)
  • 數(shù)學(xué)建模-動(dòng)態(tài)規(guī)劃&遺傳算法(美賽運(yùn)用)

    數(shù)學(xué)建模-動(dòng)態(tài)規(guī)劃&遺傳算法(美賽運(yùn)用)

    動(dòng)態(tài)規(guī)劃模型的要素是對問題解決的抽象,其可分為: 階段。指對問題進(jìn)行解決的自然劃分。例如:在最短線路問題中,每進(jìn)行走一步的決策就是一個(gè)階段。 狀態(tài)。指一個(gè)階段開始時(shí)的自然狀況。例如:在最短線路問題中,每進(jìn)行走一步后,對所走的點(diǎn)進(jìn)行標(biāo)注。 決策。當(dāng)

    2024年03月13日
    瀏覽(25)
  • 數(shù)學(xué)建模(四)整數(shù)規(guī)劃—匈牙利算法

    數(shù)學(xué)建模(四)整數(shù)規(guī)劃—匈牙利算法

    目錄 一、0-1型整數(shù)規(guī)劃問題 1.1 案例 1.2 指派問題的標(biāo)準(zhǔn)形式 2.2 非標(biāo)準(zhǔn)形式的指派問題 二、指派問題的匈牙利解法? 2.1 匈牙利解法的一般步驟 2.2 匈牙利解法的實(shí)例 2.3 代碼實(shí)現(xiàn) 投資問題: 有600萬元投資5個(gè)項(xiàng)目,收益如表,求利潤最大的方案? 設(shè)置決策變量: 模型: 指派

    2024年02月11日
    瀏覽(21)
  • 模擬退火算法與遺傳算法求解多目標(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)
  • 司守奎《數(shù)學(xué)建模算法與應(yīng)用》課后習(xí)題:線性規(guī)劃

    司守奎《數(shù)學(xué)建模算法與應(yīng)用》課后習(xí)題:線性規(guī)劃

    1.1、常規(guī)求解線性規(guī)劃 1.2、帶有絕對值的線性規(guī)劃求解 1.3、單下標(biāo)求解生產(chǎn)利潤問題 1.4 、雙下標(biāo)求解利潤問題 最后給出一些基礎(chǔ)幫助的鏈接: 需要注意三個(gè)問題: 1)分清哪些是列向量,哪些是行向量; 2)如“-2x1+x3”中的x2系數(shù)為0,但是不能忽略; 3)MATLAB 默認(rèn)求最小

    2024年02月05日
    瀏覽(29)
  • 數(shù)學(xué)建模筆記——整數(shù)規(guī)劃類問題之我見(匈牙利算法)

    數(shù)學(xué)建模筆記——整數(shù)規(guī)劃類問題之我見(匈牙利算法)

    目錄 淺淺敘述匈牙利算法 基本思路 計(jì)算步驟 來一道簡單例題 1.1 符號規(guī)定 1.2目標(biāo)函數(shù)?編輯 ? ? ? 1.3約束條件 ?編輯 1.4代碼 題目復(fù)述 基本假設(shè) 問題分析 符號說明 ?模型的建立與求解 模型建立思路 模型建立的過程 建立0-1整數(shù)規(guī)劃模型 ?運(yùn)用匈牙利方法: 代碼實(shí)現(xiàn) ?

    2023年04月11日
    瀏覽(66)
  • OLS回歸模型-斯皮爾曼相關(guān)系數(shù)-數(shù)值模擬-多目標(biāo)規(guī)劃-養(yǎng)老服務(wù)床位需求預(yù)測與運(yùn)營模式研究-之?dāng)?shù)學(xué)建模

    OLS回歸模型-斯皮爾曼相關(guān)系數(shù)-數(shù)值模擬-多目標(biāo)規(guī)劃-養(yǎng)老服務(wù)床位需求預(yù)測與運(yùn)營模式研究-之?dāng)?shù)學(xué)建模

    數(shù)學(xué)建模 -OLS回歸模型 斯皮爾曼相關(guān)系數(shù) 數(shù)值模擬 多目標(biāo)規(guī)劃-養(yǎng)老服務(wù)床位需求預(yù)測與運(yùn)營模式研究 養(yǎng)老服務(wù)床位需求預(yù)測與運(yùn)營模式研究 摘要 ????????隨著時(shí)間的推移,我國人口老齡化逐漸增多,老齡化的社會問題越來越突出,從2009年到2018年,無論是老年人口數(shù)量

    2024年02月09日
    瀏覽(21)
  • Matlab數(shù)學(xué)建模算法詳解之混合整數(shù)線性規(guī)劃 (MILP) 算法(附完整實(shí)現(xiàn)代碼)

    ???運(yùn)行環(huán)境:Matlab ???撰寫作者:左手の明天 ???精選專欄:《python》 ????推薦專欄:《算法研究》 ####? 防偽水印—— 左手の明天?#### ?? 大家好??????,我是 左手の明天 !好久不見?? ??今天分享matlab數(shù)學(xué)建模算法—— 混合整數(shù)線性規(guī)劃 (MILP) 算法 ??

    2024年02月04日
    瀏覽(30)
  • 數(shù)學(xué)建?;A(chǔ)算法Chapter2.1 -- 整數(shù)規(guī)劃(ILP): 分支定界+割平面

    數(shù)學(xué)建模基礎(chǔ)算法Chapter2.1 -- 整數(shù)規(guī)劃(ILP): 分支定界+割平面

    By 進(jìn)棧需檢票 當(dāng)題目要求的最優(yōu)解是整數(shù),例如物件的數(shù)量,參與人員的數(shù)量等時(shí),就不能繼續(xù)使用之前的線性規(guī)劃了(當(dāng)出現(xiàn)小數(shù)的情況),這個(gè)時(shí)候需考慮整數(shù)規(guī)劃這樣的一種建模形式 但是目前所流行的求整數(shù)規(guī)劃的方法,只適用于整數(shù)線性規(guī)劃,不能解決一切的整數(shù)

    2024年02月12日
    瀏覽(92)
  • 數(shù)學(xué)建模6——路徑規(guī)劃的各種算法(Dijkstra、Floyd、A*、D*、RRT*、LPA*)

    數(shù)學(xué)建模6——路徑規(guī)劃的各種算法(Dijkstra、Floyd、A*、D*、RRT*、LPA*)

    前言:本文只是簡單的介紹一下各路徑規(guī)劃算法的概念和流程,可用于對算法的初步了解,如果要進(jìn)一步學(xué)習(xí),可以在 個(gè)人理解 中找到我推薦的其他博主更為完善的文章。 目錄 一、Dijkstra 基本概念 基本流程 個(gè)人理解 MATLAB代碼 二、Floyd 基本概念 基本流程 個(gè)人理解 MATLAB代

    2024年02月07日
    瀏覽(15)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包