abc12 发表于 2023-6-8 15:46

优化算法--常规(一)

引言

在实际问题中进行有目的、有针对性的选择要比盲目的选择要好得多,
同时,需要选择最优的或者近似最优的解决方案,
参考,对优化算法中的常规方式做一个简单总结。
一些参考资料可以存眷下面公众号获取
1、线性规划

       线性规划是研究线性约束条件下线性方针函数极值问题的数学理论和方式,英文缩写为LP(Matlab中,求解函数为 linprog)。它是运筹学的一个重要分支,广泛应用于军事作战,经济分析、经营打点和工程技术等方面。为合理地操作有限的人力、物力、财力等资源做出最优决策,提供科学的依据。
       线性规划模型首先是列出约束条件及方针函数,然后画出约束条件所暗示的可行域,最后在可行域内求方针函数的最优解及最优值。线性规划模型求解流程图如 Fig. 1 所示。



Fig. 1 线性规划模型求解流程图

       线性规划是措置线性方针函数和线性约束的一种较为成熟的方式,主要用于研究有限资源的最佳分配问题,即如何对有限的资源作出最佳方式地调配和最有利地使用,以便最充实地阐扬资源的效能去获取最佳的经济效益。目前已经广泛应用于军事、经济、工业、农业、教育、商业和社会科学等方面。
       线性规划问题的尺度形式是









线性规划的尺度形式要求使方针函数最小化,约束条件取等式,变量b非负。不符合这几个条件的线性模型可以转化为尺度形式。
从实际问题中成立数学模型一般有以下三个法式:
(1)按照影响所要达到目的的因素找到决策变量;
(2)由决策变量和所要达到目的之间的函数关系确定方针函数;
(3)由决策变量所受的限制条件确定决策变量所要满足的约束条件。
所成立的数学模型具有以下特点:
(1)每个模型都有若干个决策变量(x1,x2,x3,……,xn),此中n为决策变量个数。决策变量的一组值暗示一种方案,同时决策变量一般长短负的。
(2)方针函数是决策变量的线性函数,按照具体问题可以是最大化(max)或最小化(min),二者统称为最优化(opt)。
(3)约束条件也是决策变量的线性函数。
当得到的数学模型的方针函数为线性函数,约束条件为线性等式或不等式时,称此数学模型为线性规划模型。
Matlab中linprog的调用格式:[ x,fval ]=linprog(f,A,b,Aeq,beq,lb,ub)
此中:
返回的x为决策向量的取值;
返回的fval是方针函数的最大值;
输入的f为方针向量;
输入的A和b对应的是线性不等式约束;
输入的Aeq和beq对应的是线性等式约束;
lb和ub分袂对应的是变量的下界和上界。
2、非线性规划

       非线性规划(nonlinear programming,NP)是具有非线性约束条件或方针函数的数学规划,是运筹学的一个重要分支。非线性规划研究一个n元实函数在一组等式或不等式的约束条件下的极值问题,且方针函数和约束条件至少有一个是未知量的非线性函数。
       如果方针函数或约束条件中包含非线性函数,就称这种规划问题为非线性规划问题。
       一般说来,解非线性规划要比解线性规划问题困难得多。而且,也不像线性规划有纯挚形法这一通用方式,非线性规划目前还没有适于各种问题的一般算法,各个方式都有本身特定的适用范围。

      1.2 线性规划与非线性规划的区别
         如果线性规划的优解存在,其优解只能在其可行域的边界上达到(出格是可行 域的顶点上达到);
         而非线性规划的优解(如果优解存在)则可能在其可行域的任意一点达到。
      1.3非线性规划的Matlab 解法
      Matlab 中非线性规划的数学模型写成以下形式



此中C(x)和Ceq(x)长短线性函数

Matlab 中的命令是
X=fmincon(FUN,X0,A,B,Aeq,Beq,LB,UB,NONLCON,OPTIONS)

NONLCON 是用 M 文件定义的非线性向量函数
张岩 and 吴水根, MATLAB 优化算法. 清华大学出书社, 2017.
高立, 数值最优化方式. 北京大学出书社, 2014.
页: [1]
查看完整版本: 优化算法--常规(一)