HOME 首頁(yè)
SERVICE 服務(wù)產(chǎn)品
XINMEITI 新媒體代運(yùn)營(yíng)
CASE 服務(wù)案例
NEWS 熱點(diǎn)資訊
ABOUT 關(guān)于我們
CONTACT 聯(lián)系我們
創(chuàng)意嶺
讓品牌有溫度、有情感
專注品牌策劃15年

    多目標(biāo)優(yōu)化模型(多目標(biāo)優(yōu)化模型求解)

    發(fā)布時(shí)間:2023-04-08 05:25:38     稿源: 創(chuàng)意嶺    閱讀: 106        

    大家好!今天讓創(chuàng)意嶺的小編來大家介紹下關(guān)于多目標(biāo)優(yōu)化模型的問題,以下是小編對(duì)此問題的歸納整理,讓我們一起來看看吧。

    開始之前先推薦一個(gè)非常厲害的Ai人工智能工具,一鍵生成原創(chuàng)文章、方案、文案、工作計(jì)劃、工作報(bào)告、論文、代碼、作文、做題和對(duì)話答疑等等

    只需要輸入關(guān)鍵詞,就能返回你想要的內(nèi)容,越精準(zhǔn),寫出的就越詳細(xì),有微信小程序端、在線網(wǎng)頁(yè)版、PC客戶端

    官網(wǎng):https://ai.de1919.com。

    創(chuàng)意嶺作為行業(yè)內(nèi)優(yōu)秀的企業(yè),服務(wù)客戶遍布全球各地,如需了解SEO相關(guān)業(yè)務(wù)請(qǐng)撥打電話175-8598-2043,或添加微信:1454722008

    本文目錄:

    多目標(biāo)優(yōu)化模型(多目標(biāo)優(yōu)化模型求解)

    一、matlab 多目標(biāo)優(yōu)化的實(shí)際例子

    遺傳算法GA求解無約束最優(yōu)化問題,采用遺傳算法求函數(shù)的最小值:

    f(x,y)=x^4-16x^2-5xy+y^4-16y^2-5y

    函數(shù)如下:

    f=inline('x(1)^4-16*x(1)^2-5*x(1)*x(2)+x(2)^4-16*x(2)^2-5*x(2)','x');

    l=[-5 -5];

    u=[5 5];

    x0=[0 0];

    Np=30;

    Nb=[12 12];

    Pc=0.5;

    Pm=0.01;

    eta=0.8;

    kmax=200;

    [xos,fos]=fminsearch(f,x0)

    [xo_gen,fo_gen]=genetic(f,x0,l,u,Np,Nb,Pc,Pm,eta,kmax)

    其中調(diào)用的遺傳算法函數(shù)為如下幾個(gè)

    genetic函數(shù)

    function [xo,fo]=genetic(f,x0,l,u,Np,Nb,Pc,Pm,eta,kmax)

    N=length(x0);

    if nargin<10,kmax=100;end

    if nargin<9|eta>1|eta<=0,eta=1;end

    if nargin<8,Pm=0.01;end

    if nargin<7,Pc=0.5;end

    if nargin<6,Nb=8*ones(1,N);end

    if nargin<5,Np=10;end

    NNb=sum(Nb);

    xo=x0(:)';l=l(:)';u=u(:)';

    fo=feval(f,xo);

    X(1,:)=xo;

    for n=2:Np,X(n,:)=1+rand(size(x0)).*(u-1);

    P=gen_encode(X,Nb,l,u);

    for k=1:kmax

    X=gen_decode(P,Nb,l,u);

    for n=1:Np,fX(n)=feval(f,X(n,:));end

    [fxb,nb]=min(fX);

    if fxb<fo,fo=fxb;xo=X(nb,:);end

    fX1=max(fxb)-fX;

    fXm=fX1(nb);

    if fXm<eps,return;end

    for n=1:Np

    X(n,:)=X(n,:)+eta*(fXm-fX1(n))/fXm*(X(nb,:)-X(n,:));

    end

    P=gen_encode(X,Nb,l,u);

    is=shuffle([1:Np]);

    for n=1:2:Np-1

    if rand<Pc

    P(is(n:n+1),:)=crossover(P(is(n:n+1),:),Nb);

    end

    end

    P=mutation(P,Nb,Pm);

    end

    gen_encode函數(shù)

    function P=gen_encode(X,Nb,l,u)

    Np=size(X,l);

    N=length(Nb);

    for n=1:Np

    b2=0;

    for m=1:N

    b1=b2+1;

    b2=b2+Nb(m);

    Xnm=(2^Nb(m)-1)*(X(n,m)-l(m))/(u(m)-l(m));

    P(n,b1:b2)=dec2bin(Xnm,Nb(m));

    end

    end

    gen_decode函數(shù)

    function X=gen_decode(P,Nb,l,u)

    Np=size(P,l);

    N=length(Nb);

    for n=1:Np

    b2=0;

    for m=1:N

    b1=b2+1;

    b2=b1+Nb(m)-1;

    X(n,m)=bin2dec(P(n,b1:b2))*(u(m)-l(m))/(2^Nb(m)-1)+l(m);

    end

    end

    crossover函數(shù)

    function chrms2=crossover(chrms2,Nb)

    Nbb=length(Nb);

    b2=0;

    for m=1:Nbb

    b1=b2+1;

    bi=b1+mod(floor(rand*Nb(m)),Nb(m));

    b2=b2+Nb(m);

    tmp=chrms2(1,bi:b2);

    chrms2(1,bi:b2)=chrms2(2,bi:b2);

    chrms2(2,bi:b2)=tmp;

    end

    mutation函數(shù)

    function P=mutation(P,Nb,Pm)

    Nbb=length(Nb);

    for n=1:size(P,1)

    b2=0;

    for m=1:Nbb

    if rand <Pm

    b1=b2+1;

    bi=b1+mod(floor(rand*Nb(m)),Nb(m));

    b2=b2+Nb(m);

    P(n,bi)=~P(n,bi);

    end

    end

    end

    shuffle函數(shù)

    function is=shuffle(is)

    N=length(is);

    for n=N:-1:2

    in=ceil(rand*(n-1));

    tmp=is(in);is(in)=is(n);is(n)=tmp;

    end

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

    xos =

    3.0453 3.1031

    fos =

    -186.4878

    xo_gen=

    2.9805 3.3150

    fo_gen=

    -184.2604

    二、多目標(biāo)優(yōu)化中權(quán)重設(shè)置問題?

    你這個(gè)問題太專業(yè)了。我試著回答一下。

    權(quán)重指數(shù)你可以在計(jì)算的時(shí)候分開計(jì)算。比如溫濕度合計(jì)權(quán)重40%,在計(jì)算的時(shí)候你就分開計(jì)算,例如:15%+25%。然后你在最后合計(jì)的時(shí)候?qū)懗梢粋€(gè)數(shù)值就可以了。這樣也不影響精度,也達(dá)到了你的要求。

    三、matlab多目標(biāo)優(yōu)化求解的例子

    出錯(cuò)原因:下列的函數(shù)表達(dá)式定義錯(cuò)誤,

    x=fmincon('((-3*x(1)+2*x(2)+fval1)^2+(4*x(1)+3*x(2)+fval2)^2)^(1/2)',x0,A,b,[],[],lb,[])

    糾正方法,用句柄函數(shù)來定義函數(shù)表達(dá)式,即

    @(x)((-3*x(1)+2*x(2)+fval1)^2+(4*x(1)+3*x(2)+fval2)^2)^(1/2)

    完整寫法如下,

    x=fmincon(@(x)((-3*x(1)+2*x(2)+fval1)^2+(4*x(1)+3*x(2)+fval2)^2)^(1/2),x0,A,b,[],[],lb,[])

    更改后運(yùn)行,可得到

    x1 =    0.1756;x2=    5.8829

    多目標(biāo)優(yōu)化模型(多目標(biāo)優(yōu)化模型求解)

    四、優(yōu)化模型中的決策變量為什么要相互獨(dú)立

    相互獨(dú)立的兩個(gè)變量可以分開優(yōu)化,各自優(yōu)化的結(jié)果不會(huì)相互影響,相互關(guān)聯(lián)的變量因?yàn)樗麄冎g的相關(guān)性,整體優(yōu)化的結(jié)果與他們分開優(yōu)化的結(jié)果不同,所以不能相互關(guān)聯(lián)的變量不能分開進(jìn)行優(yōu)化,設(shè)有多目標(biāo)優(yōu)化問題

    ,如果存在決策向量 x ,實(shí)數(shù)

    ,至少一個(gè)目標(biāo)函數(shù)

    ,使得

    那么變量

    相關(guān)。

    以上就是關(guān)于多目標(biāo)優(yōu)化模型相關(guān)問題的回答。希望能幫到你,如有更多相關(guān)問題,您也可以聯(lián)系我們的客服進(jìn)行咨詢,客服也會(huì)為您講解更多精彩的知識(shí)和內(nèi)容。


    推薦閱讀:

    多目標(biāo)粒子群算法(多目標(biāo)粒子群算法實(shí)例)

    多目標(biāo)優(yōu)化模型(多目標(biāo)優(yōu)化模型求解)

    超算中心算力排名(超算中心排名前五)

    淘寶合作安裝平臺(tái)(淘寶合作安裝平臺(tái)有哪些)