2023-05-31から1日間の記事一覧

満足化トレードオフ法(STOM)によるパレートフロントの計算

その1 clear; close all; aLevels = [2 1; 1 3; 0.4 0.5]; f1 = @(x) x.^2; f2 = @(x) (x-2).^2; x=-10:0.01:10; f1i = min(f1(x)); f2i = min(f2(x)); c1 = 2; c2 = 2; f1a = f1i + c1; f2a = f2i + c2; xopts = []; w1s = []; w2s = []; for idx=1:length…

基準点法によるパレートフロントの計算

clear; close all; % aspiration levels f1a,f2a aLevels = [1 3; 0.5 0.5; 0.1 0.8 2 1]; f1 = @(x) x.^2; f2 = @(x) (x-2).^2; c = 1; x = -10:0.1:10; xopts = []; for idx=1:length(aLevels) aLevel = aLevels(idx,:); f1a = aLevel(1); f2a = aLevel(2)…

重み付きlpノルム法によるパレートフロントの計算

その1 p=2の場合 clear; close all; p = 2; f1 = @(x) x.^2; f2 = @(x) (x-2).^2; w1s = 0:0.1:1; w2s = 0:0.1:1; x = -10:0.1:10; xopts = []; for idx=1:length(w1s) w1 = w1s(idx); for jdx=1:length(w2s) w2 = w2s(jdx); F = ((w1*f1(x)).^p+(w2*f2(x))…

イプシロン制約法でパレートフロントを計算する その2

clear; close all; global epsilon; a = 1/sqrt(2); f1 = @(x) 1-exp(-(x(:,1)-a).^2-(x(:,2)-a).^2); global f2; f2 = @(x) 1-exp(-(x(:,1)+a).^2-(x(:,2)+a).^2); x1opts = []; x2opts = []; A = []; b = []; Aeq = []; beq = []; x0 = [0,0]; lb = [-4,-4…

ε-制約法でパレートフロントを計算する

clear; close all; clear; close all; global epsilon; f1 = @(x) x.^2; global f2; f2 = @(x) (x-2).^2; xopts = []; A = []; b = []; Aeq = []; beq = []; x0 = [0]; lb = [-10,-10]; ub = [10,10]; epsilons = linspace(0,4,20); for idx = 1:length(epsi…

Matlabで制約つき非線形最適化問題を解く

fmincon()を使う jp.mathworks.com@nonlconの「@」がキモ clear; close all; f = @(x) x(1)^2+x(2)^2; A = []; b = []; Aeq = []; beq = []; x0 = [0,0]; lb = []; ub = []; fmincon(f, x0, A, b, Aeq, beq, lb, ub, @nonlcon) function [c,ceq] = nonlcon(…