單目標優化
『壹』 目標優化與目標規劃有何異同
此問題 說難 確實難 你要是非要咬文嚼字的話 那這幾個概念是怎麼也分不清楚的。版
首先多目標決策是指某些問題權有多個目標決定。我個人感覺它不應該是個概念,而是一個「問題」。需要我們去解答。
如何解答?
這就用到了多目標優化即研究多個目標在區域內的最優化,同時又叫多目標最優化。
最後多目標規劃,這個簡單,是數學上的一個分支,說白了它就是多目標優化。你要規劃出一個目標即規劃出一個優化方案。就是這樣。
當然兩者不可等同,其實不難理解,規劃這個問題好理解,例如什麼十一五規劃十二五規劃,水資源規劃等等,是一個很空泛的東西。就是對一個問題做出一個合理的規劃。可以理解為對這個問題一個優化方案。
呵呵 個人理解 有錯誤請指出。 本人學水利的 想共同探討可以加我 799251711
是否可以解決您的問題?
『貳』 多目標優化和多約束優化有區別嗎
約束多目標優化和區間多目標優化都屬於多目標優化,但側重於研究兩個不同的方面。
約束多目標優化是指,含約束條件的多目標優化。約束條件是指,該優化問題的解的目標函數值必須滿足的前提條件,比如,第2個目標函數值f_2(x)必須在區間(0,1)內,即約束條件為0<f_2(x)<1。當然,除了區間,約束條件也可以是其它形式表示,且可以存在多個。
處理約束多目標優化問題的方法通常是利用罰函數的方法將約束條件加入目標函數中。實際上,還可以將約束條件轉化為目標函數,但這會導致目標函數增多,使得優化問題成為一個高維多目標優化問題,可能會增加求解難度。
區間多目標優化是指,目標函數含有不確定性,且不確定性為區間表示的多目標優化。實際工程中目標函數往往含有不確定性,其表達形式可以是隨機、模糊、區間等。應用區間表示方法更加容易一些,只需要獲得該目標函數(的參數)的上下界、或中點和范圍。比如,f_2(x)=x+e,其中,e=[0,1],那麼,f_2(x)是一個區間表示的不確定目標函數。
處理區間多目標優化問題的方法分兩類,第一類是先將其轉化為確定型的優化問題(如目標函數的期望值),再採用常規的多目標優化方法求解,那麼,所得優化解的性能與轉化方法有著很大的關系;第二類是通過區間分析方法,直接對不同解的目標函數進行比較,比如,針對區間優化問題定義的占優概率、占優可信度、超體積貢獻度等,此外,由於不確定多目標優化還需要同時考慮優化解的分布性能與不確定度,所以求解難度還是很大的。
『叄』 ga優化演算法和sqp 哪個適用於單目標優化
是不是像求函數最值那樣子?建議你了解一下遺傳演算法的實數編碼,這個對於求函數最值很方便,不用像二進制那樣需要轉換。 簡單介紹一下思路: 最重要的是確定適應度函數,只要確定這個函數就很容易了,就用你不會編程,直接調用matlab的工具箱就...
『肆』 matlab進行多變數二次多項式單目標優化
採用粒子群演算法,可得出優化最小值和最大值
優化最小值: 0.8806
『伍』 多目標最優化問題化成單目標問題時,如果目標函數系數中既有比例值也有真實值可以進行加權使化為單目標嗎
你這個問題應該有約束吧?或者有一個是最大化
問題無解x1 x2 x3都可取到負無窮了,
你這個問題應該是3維空間里的兩個超平面0.2*x1+0.3*x2+0.5*x3,,234*x1+3243*x2+123*x3,,交點在0 0 0 沒有最小點的
如果有約束
是可以的,f1=0.2*x1+0.3*x2+0.5*x3 f2=234*x1+3243*x2+123*x3
可以加權為一個新目標f3=w1*f1+w2*f2
加權後是只能得到一個最優解的,你要不斷的變動權重才能得到所有的解
『陸』 什麼是單頁優化,有什麼用
單頁優化就是,整個網站只有一個頁面,進行seo優化推廣,顯然只靠一個頁面優化排名,難度相對來說比較高,通常需結合競價推廣
『柒』 協同進化遺傳演算法可以用於單目標優化問題嗎
你好,可參考網路文庫的一些文章:http://wenku..com/view/8b7caa69a45177232f60a25d.html?from=search
『捌』 粒子群優化演算法(PSO)解決單目標優化問題的matlab編程
我之前做過的,
『玖』 如何將多目標優化問題轉化成單目標優化
一般採用兩個目標函數加權相加的形式。加權可以解決兩個目標函數量綱不一致,或者變化劇烈程度不一致的問題,不過權重本身需要人為選取。
一般不使用乘法來組合目標函數,因為這樣會使得導數的形式變得復雜。
『拾』 經濟最優單目標遺傳優化演算法怎麼實現
我給你一個標准遺傳演算法程序供你參考:
該程序是遺傳演算法優化BP神經網路函數極值尋優:
%% 該代碼為基於神經網路遺傳演算法的系統極值尋優
%% 清空環境變數
clc
clear
%% 初始化遺傳演算法參數
%初始化參數
maxgen=100; %進化代數,即迭代次數
sizepop=20; %種群規模
pcross=[0.4]; %交叉概率選擇,0和1之間
pmutation=[0.2]; %變異概率選擇,0和1之間
lenchrom=[1 1]; %每個變數的字串長度,如果是浮點變數,則長度都為1
bound=[-5 5;-5 5]; %數據范圍
indivials=struct('fitness',zeros(1,sizepop), 'chrom',[]); %將種群信息定義為一個結構體
avgfitness=[]; %每一代種群的平均適應度
bestfitness=[]; %每一代種群的最佳適應度
bestchrom=[]; %適應度最好的染色體
%% 初始化種群計算適應度值
% 初始化種群
for i=1:sizepop
%隨機產生一個種群
indivials.chrom(i,:)=Code(lenchrom,bound);
x=indivials.chrom(i,:);
%計算適應度
indivials.fitness(i)=fun(x); %染色體的適應度
end
%找最好的染色體
[bestfitness bestindex]=min(indivials.fitness);
bestchrom=indivials.chrom(bestindex,:); %最好的染色體
avgfitness=sum(indivials.fitness)/sizepop; %染色體的平均適應度
% 記錄每一代進化中最好的適應度和平均適應度
trace=[avgfitness bestfitness];
%% 迭代尋優
% 進化開始
for i=1:maxgen
i
% 選擇
indivials=Select(indivials,sizepop);
avgfitness=sum(indivials.fitness)/sizepop;
%交叉
indivials.chrom=Cross(pcross,lenchrom,indivials.chrom,sizepop,bound);
% 變異
indivials.chrom=Mutation(pmutation,lenchrom,indivials.chrom,sizepop,[i maxgen],bound);
% 計算適應度
for j=1:sizepop
x=indivials.chrom(j,:); %解碼
indivials.fitness(j)=fun(x);
end
%找到最小和最大適應度的染色體及它們在種群中的位置
[newbestfitness,newbestindex]=min(indivials.fitness);
[worestfitness,worestindex]=max(indivials.fitness);
% 代替上一次進化中最好的染色體
if bestfitness>newbestfitness
bestfitness=newbestfitness;
bestchrom=indivials.chrom(newbestindex,:);
end
indivials.chrom(worestindex,:)=bestchrom;
indivials.fitness(worestindex)=bestfitness;
avgfitness=sum(indivials.fitness)/sizepop;
trace=[trace;avgfitness bestfitness]; %記錄每一代進化中最好的適應度和平均適應度
end
%進化結束
%% 結果分析
[r c]=size(trace);
plot([1:r]',trace(:,2),'r-');
title('適應度曲線','fontsize',12);
xlabel('進化代數','fontsize',12);ylabel('適應度','fontsize',12);
axis([0,100,0,1])
disp('適應度 變數');
x=bestchrom;
% 窗口顯示
disp([bestfitness x]);