二次優化問題dfp 最優化方法(十二)粒子群尋優

2021-10-14 07:25:37 字數 2919 閱讀 5964

chenglin li:最優化方法(一)0.618(**分割)法計算單峰函式極小值

chenglin li:最優化方法(二)最速下降法求目標函式最小值

chenglin li:最優化方法(三)共軛梯度演算法(fr)求解無約束問題

chenglin li:最優化方法(四)變度量法演算法(dfp)求解無約束問題

chenglin li:最優化方法(五)單純形法解有約束的線性規劃問題

chenglin li:最優化方法(六)使用newton法解無約束最優化問題python

chenglin li:最優化方法(七)變度量法演算法(bfgs)求解無約束問題

chenglin li:最優化方法(八)使用newton法解無約束最優化問題

chenglin li:最優化方法(九)遺傳演算法求一元函式的極值

chenglin li:最優化方法(十)遺傳演算法求二元函式的極值

chenglin li:最優化方法(十一)小蟲子賽跑遊戲

matlab實現粒子群演算法_matlab_qq_32515081的部落格-csdn部落格​blog.csdn.net

% 初始化種群

f= @(x)x .* sin(x) .* cos(2 * x) - 2 * x .* sin(3 * x); % 函式表示式

figure(1)

ezplot(f,[0,0.01,20]);

n = 50; % 初始種群個數

d = 1; % 空間維數

ger = 100; % 最大迭代次數

limit = [0, 20]; % 設定位置引數限制

vlimit = [-1, 1]; % 設定速度限制

w = 0.8; % 慣性權重

c1 = 0.5; % 自我學習因子

c2 = 0.5; % 群體學習因子

for i = 1:d

x = limit(i, 1) + (limit(i, 2) - limit(i, 1)) * rand(n, d);%初始種群的位置

endv = rand(n, d); % 初始種群的速度

xm = x; % 每個個體的歷史最佳位置

ym = zeros(1, d); % 種群的歷史最佳位置

fxm = zeros(n, 1); % 每個個體的歷史最佳適應度

fym = -inf; % 種群歷史最佳適應度

hold on

plot(xm, f(xm), 'kx');title('初始狀態圖');

figure(2)

% 群體更新

iter = 1;

record = zeros(ger, 1); % 記錄器

while iter <= ger

fx = f(x) ; % 個體當前適應度

for i = 1:n

if fxm(i) < fx(i)

fxm(i) = fx(i); % 更新個體歷史最佳適應度

xm(i,:) = x(i,:); % 更新個體歷史最佳位置

end

endif fym < max(fxm)

[fym, nmax] = max(fxm); % 更新群體歷史最佳適應度

ym = xm(nmax, :); % 更新群體歷史最佳位置

endv = v * w + c1 * rand * (xm - x) + c2 * rand * (repmat(ym, n, 1) - x);% 速度更新

% 邊界速度處理

v(v > vlimit(2)) = vlimit(2);

v(v < vlimit(1)) = vlimit(1);

x = x + v;% 位置更新

% 邊界位置處理

x(x > limit(2)) = limit(2);

x(x < limit(1)) = limit(1);

record(iter) = fym;%最大值記錄

% x0 = 0 : 0.01 : 20;

% plot(x0, f(x0), 'b-', x, f(x), 'ro');title('狀態位置變化')

% pause(0.1)

iter = iter+1;

endplot(record);

title('收斂過程')

x0 = 0 : 0.01 : 20;

figure(1)

plot(x0, f(x0), 'k-');

hold on

plot(x,f(x),'ro','linewidth',3)

title('pso尋優')

disp(['最大值:',num2str(fym)]);

disp(['變數取值:',num2str(ym)]);

優化問題,凸優化,凸二次優化問題

首先 優化問題通常喜歡求解最小值min 如果要求max就給他轉換過來 如何來判斷乙個函式是否是凸函式呢?對於一元函式f x 我們可以通過其二階導數f x 的符號來判斷。如果函式的二階導數總是非負,即f x 0 則f x 是凸函式對於多元函式f x 我們可以通過其hessian矩陣 hessian矩陣...

dfp方法例題 最優化之DFP演算法考試題

最優化之 dfp演算法考試題 dfp.m 檔案function x,val,k dfp fun,gfun,x0 功能用 dfp演算法求解無約束問題 min f x 輸入x0 是初始點 fun,gfun 分別是目標函式及其梯度 輸出x,val 分別是近似最優點和最優值 k是迭代次數 maxk 1e5 ...

最優化方法 有約束優化問題C 實現

在可行域內,沿著目標函式的負梯度方向移動 沿著被破壞的約束的梯度方向與目標函式梯度方向的和向量移動。優化問題 minx 2 2 y 2 s.t.x y 4 起始點 z 1,4.5 固定步長k 1 由kkt條件可以解出 x 8 3,4 3 include include include include...