数学建模之目标规划问题(总)

数学建模中的目标规划问题

对数学建模中的目标规划问题作梳理。

一、目标规划的分类

  1. 约束规划与无约束规划(既无不等式约束又无等式约束)
  2. 线性规划(目标函数与约束函数均为线性函数)与非线性规划
  3. 整数规划(包括0-1规划)
  4. 多目标规划(目标函数形如f(x)=[f1(x),f2(x),…,fn(x)]

相关术语: 
可行解:满足约束条件的一组决策变量的取值 
可行域:全部可行解的集合 
最优解:可行域中使目标函数达到最优值的可行解

二、线性规划(Linear Programming,LP)

MATLAB中的标准形式: 
minf(x) 
s.t.A*x≤b 
Aeq*x=beq 
lb≤x≤ub 
调用格式:[x,fval] = linprog(f,A,b,Aeq,beq,lb,ub)

线性规划详解见:https://blog.csdn.net/jianwei2016/article/details/76140388?utm_source=debugrun&utm_medium=referral

三、整数规划(Integer Linear Programming,ILP)

MATLAB中的标准形式: 
minf(x) 
s.t.A*x≤b 
Aeq*x=beq 
lb≤x≤ub 
x1,x2,…,xn部分或全部取整数 
调用格式:[x,fval] = intlinprog(f,intcon,A,b,Aeq,beq,lb,ub)

 

四、无约束非线性规划

求解方法:

  • 目标函数连续可微:最速下降法、牛顿法、拟牛顿法、共轭梯度法等

  • 目标函数不连续不可微:遗传算法、粒子群算法等

问题类型:

  1. 一元函数在给定区间上的最小值

    模型:minf(x)s.t.x1调用格式:[x,fval] = fminbnd(f,x1,x2)

  2. 无约束的多元函数的最小值

    模型:minf(x) 
    调用格式:[x,fval] = fminunc(f,x0)

  3. 无导数法求解无约束的多元函数的最小值 
    模型:minf(x) 
    调用格式:[x,fval] = fminsearch(f,x0)

  4. 遗传算法求解无约束规划问题的最小值 
    模型:minf(x)s.t.lb≤x≤ub 
    调用格式:[x,fval] = ga(fitnessfcn,nvars,[],[],[],[],lb,ub)

  5. 粒子群算法求解无约束规划问题的最小值 
    模型:minf(x)s.t.lb≤x≤ub 
    调用格式:[x,fval] = particleswarm(f,nvars,lb,ub)

  6. 模式搜索算法求解无约束规划问题的最小值

    模型:minf(x)s.t.lb≤x≤ub 
    调用格式:[x,fval] = patternsearch(f,x0,[],[],[],[],lb,ub)

非线性规划

  1. 二次规划 
    模型: 
    minZ=12xTHx+cTx 
    s.t.A⋅x≤b 
    Aeq⋅x=beq 
    lb≤x≤ub 
    调用格式:[x,fval] = quadprog(H,f,A,b,Aeq,beq,lb,ub)
  2. 约束的多元函数的最小值 
    minf(x) 
    s.t.A⋅x≤b 
    Aeq⋅x=beq 
    G(x)≤0 
    Geq(x)=0 
    lb≤x≤ub 
    调用格式:[x,fval] = fmincon(f,x0,A,b,Aeq,beq,lb,ub,nonlcon)
  3. 遗传算法求解约束规划问题的最小值 
    minf(x) 
    s.t.A⋅x≤b 
    Aeq⋅x=beq 
    G(x)≤0 
    Geq(x)=0 
    lb≤x≤ub 
    调用格式:[x,fval] = ga(fitnessfcn,nvars,A,b,Aeq,beq,LB,UB,nonlcon)
  4. 模式搜索算法求解约束规划问题的最小值 
    minf(x) 
    s.t.A⋅x≤b 
    Aeq⋅x=beq 
    G(x)≤0 
    Geq(x)=0 
    lb≤x≤ub 
    调用格式:[x,fval] = patternsearch(f,x0,A,b,Aeq,beq,lb,ub,nonlcon)

多目标规划

多目标规划问题的解之间通常不能简单地比较好坏,这样的解称为非支配解Pareto最优解 
遗传算法求解多目标规划问题: 
gamultiobj运用基于NSGA-II方法的多目标遗传算法 
模型: 
minF(x) 
s.t.A⋅x≤b 
Aeq⋅x=beq(LinearConstraints) 
G(x)≤0 
Geq(x)=0(NonlinearConstraints) 
lb≤x≤ub(BoundConstraints) 
调用格式:[x,fval] = gamultionj(fitnessfcn,nvars,A,b,Aeq,beq,lb,ub,nonlcon,options) 

 

参考链接:
[1]https://blog.csdn.net/suntengnb/article/details/81699943

你可能感兴趣的:(数学建模)