2026a

# 调整多目标遗传算法的优化过程


本示例展示如何使用 gamultiobj_options 函数为多目标遗传算法创建和改变选项,从而调整优化过程。

# 问题描述

在本示例中,我们使用多目标遗传算法获得 kur_multiobjective 函数的帕累托前沿。该函数由 2 个目标组成,每个目标有 3 个决策变量,变量边界为 .

# 定义待优化问题

using TyPlot
using TyGlobalOptimization
function y_1(x)
    y1 = 0
    for i = 1:2
        y1 = y1 - 10 * exp(-0.2 * sqrt(x[i]^2 + x[i+1]^2))
    end
    return y1
end
function y_2(x)
    y2 = 0
    for i = 1:3
        y2 = y2 + abs(x[i])^0.8 + 5 * sin(x[i]^3)
    end
    return y2
end
kur_multiobjective(x) = [y_1(x), y_2(x)]
objcon = packfcn(kur_multiobjective, (), ())
nobj = 2
lb = [-5.0, -5.0, -5.0]
ub = -lb

# 执行求解,并绘制帕累托前沿

使用 gamultiobj 求解器进行优化,并通过设置 draw_picture=true 来绘制帕累托前沿。

options1 = gamultiobj_options(draw_picture=true)
PS1, PF1, output1 = gamultiobj(objcon, nobj, lb, ub, options1)

设置 N,改变种群规模。

options2 = gamultiobj_options(draw_picture=true, N=200)
PS2, PF2, output2 = gamultiobj(objcon, nobj, lb, ub, options2)

设置 p_m,改变突变概率。

options3 = gamultiobj_options(draw_picture=true, p_m=0.3)
PS3, PF3, output3 = gamultiobj(objcon, nobj, lb, ub, options3)

# 另请参阅

gamultiobj