动态优化张博北京大学经济学院2/186[大纲]本课程讲述动态优化方法在经济学特别是环境和自然资源经济学中的应用。由六部分组成,分别是(0)引言,(1)静态优化(2)常微分方程(3)变分法(4)最优控制(5)动态规划[参考书][1]AlphaC.Chiang.ElementsofDynamicOptimization.McGraw-Hill,Inc.1992.[2]MortonI.KamienandNancyL.Schwartz.DynamicOptimization.Thecalculusofvariationsandoptimalcontrolineconomicsandmanagement.2ndEdition.ElsevierB.V.1991[3]PabloPedregal.IntroductiontoOptimization.Springer,2004.[4]C.R.Bector.PrinciplesofOptimizationTheory.AlphaScienceInternationalLtd.2005[5]ReinerHorstetal.IntroductiontoGlobalOptimization.KluwerAcademicPublishers.1995[6]DimitriP.Bertsekas.ConvexAnalysisandoptimization.AthenaScientificandTsinghuaUniversityPress.2006.[7]HalR.Varian.MicroeconomicAnalysis.3rdEdition.W.W.Norton&Company,Inc.1992.(Chapter27Optimization)[8]龚六堂。动态经济学方法。北京大学出版社。2002[9]常微分方程。第二版。东北师范大学微分方程教研室。高等教育出版社。20051/186引言0.1优化问题在人的经济行为当中的产生在人的经济行为当中,随时实地会产生选择问题。比如,你有一笔钱,是用来消费还是用来投资,面对市场上多种多样的消费品和投资产品,又要如何选择,等等。人们总是自觉不自觉地拿自己心中的一把尺度来衡量各种方案的优劣,并最终(理性的人)会选择那个在此尺度之下最优的方案。在多种可选的行动方案之中选择出某种意义上最优的方案,这种问题,若抽象成数学,就属于优化问题。优化问题又可以分为静态优化问题和动态优化问题。若不考虑一个行动对未来的影响,那么,所对应的优化问题就是静态优化问题;若考虑行动对未来的影响,或者考虑在一段时间内一系列行动对行动主体的总的效果,那么,所对应的优化问题就是动态优化问题。在一定的条件一定的情况之下,某种行动对未来的影响非常小,或者我们没有必要去考虑这种影响的时候,静态优化方法就是恰当的方法。但,当这种影响不可忽视的时候,就必须采用动态优化方法来处理了,即需要用动态的视角来考察问题。一个行动短期内是好的未必从长远看也是好的。0.2优化问题的数学表述要在数学上确切地建立一个优化问题,我们可以假想一个人的行动的作用对象是一个系统,他的行动可以影响这个系统所处的状态。而这个系统处于什么样的状态对行动主体的有什么样的价值可以采用某个尺度来衡量。(I)静态优化一般地,静态优化问题可以表述为maximize)(xU,subjecttox.这里,nR,而)(U是某个n元函数,是所谓的目标函数。其中的x就是所考虑的系统所处的状态(采用n维向量来表示),而)(U就是那个用来描述系统所处状态对人的价值的尺度。比如,消费问题。一个拥有资金0C的人要在有着n种不同的消费品的市场上来挑选消费品以使自己享受到最大可能的效用。假定这个人的效用函数为),...,(1nxxU,其中nxx,...,1分别为他消费掉的第n,...,1种消费品的数量,而现在市场上这n种消费品的价格分别为npp,...,1(皆0),那么,此时,他要解决的问题就是maximize),...,(1nxxU,subjecttoCxpxpnn...11,2/1860,...,01nxx。(II)动态优化一般地,动态优化问题可以表述为maximize)(xU,subjecttox.这里,是某个函数空间的子集,比如,TC,02,其中TC,02表示],0[T上的具有连续的二阶导函数的函数全体,而T0,而)(U是TC,02上的某个泛函,即从TC,02到1R的映射。这里的x就是所考虑的系统所处的状态,它是],0[Tt的函数,而)(U就是那个用来描述系统所处状态在整个],0[T上所走的轨迹对人的价值的尺度。按目标泛函的形式可以把一般的动态优化问题分为以下三类:标准问题TdtxxtFxV0,,)(,其中F是某三元函数,x是有待考察的路径。这个泛函V依赖于整个路径x。Mayer问题))(,()(TxTGxV,其中G为某二元函数,x是有待考察的路径。这个泛函V只依赖于x终端的情况。Bolza问题))(,(,,)(0TxTGdtxxtFxVT,其中F是某三元函数,G为某二元函数,x是有待考察的路径。这个泛函V依赖于整个路径x包括终端的情况。我们举一个标准问题的例子。比如,矿产开采问题。我们考虑某矿产的一个完全竞争的市场,于其上该矿产的(单位)价格为)(tpp,这个价格在任何时刻都不受任何个体的影响的。那么,在这种市场情形下,一个对某矿藏拥有T年产权的人,若该矿藏现储存量为0x,那么他所要解决的问题就是maximizeTrtdtyxcype0),(,subjecttoyx,0)0(xx。3/186这里,)(tx是t时刻的矿藏储量,而)(ty为t时刻附近单位时间内的开发量,而),(yxc为t时刻附近当总储量为x而单位时间内的开发量为y时在此刻附近单位时间内的成本,r为贴现率。显然,上述问题可转换成以下问题:minimizeTrtdtxxcxpe0),(,subjectto0)0(xx。0.3动态优化的主要方法下面我们介绍动态优化的主要方法以及它们能够解决的优化问题的典型形式。(I)变分法变分法的标准问题有如下形式:maximizeTdtxxtFxV0,,)(,subjectto0)0(xx,TxTx)(.变分法的核心手段是:假定x是上述问题的解,那么对任意固定的满足0)()0(Tpp的函数)(tpp,令dtpxpxtFVT0,,)(,则,)(V一定会在0处达到最大值,于是,有0)(0Vdd,由此可以得到最优解x和p所满足的一个关系,最后,再由p的任意性,把p甩掉,就可以得到x满足的关系,这就是上述优化问题的解x所满足的必要条件。由此可以得到著名的Euler方程。变分法是最早出现的解决优化问题的方法,已有三百多年的历史。该领域的著名人物有Newton,Bernoulli,Euler等。(II)最优控制最优控制方法的标准问题有如下形式:maximizeTdtuxtFuV0,,)(,subjectto),,(uxtfx4/1860)0(xx,TxTx)(,再加上u所受的某种限制。这里的u被称为控制变量(controlvariable),而x称为状态变量(statevariable)。注意,这里泛函V的自变量是u而不是x。最优控制的主要手段是通过最大值原则(maximumprinciple)等得到控制变量所满足的关系,进而得出最优解x。这种方法和变分法相比,其优点就是能够处理边边角角处的极值问题,而变分法只能处理“内点”处的极值问题。这可以拿微积分中的定义在一个有限闭区间上的函数的最大值问题来做比较,即使函数充分光滑,采用一阶导数等于0的方法只能得到驻点,而这类驻点常常都在区间内,可在区间的端点处有可能产生最大值,但那里就不一定是驻点了。注意到,在上述的变分法问题中,若令ux,则可将其变为最优控制问题。因此,可以说,最优控制方法有着更广泛的适用性。最优控制方法是二十世纪四、五十年代之后才出现的方法,最著名的人物就是苏联数学家Pontryagin,上述的maximumprinciple就是他提出的。(III)动态规划这种方法是是二十世纪50年代美国数学家Bellman提出的。我们可以考虑一个最简单的离散时间的问题以说明这种方法的基本思路。运输问题假定某公司有一批货要从一特定的生产地运往若干个可选的销售地,中途要经历几次转运,每次转运都有若干个转运地可选。现在的问题是要选择出一个最优(成本最小)路径。我们假定每段转运路径的成本都是已知的。我们可以把这一优化问题看成是一系列优化问题当中的一个问题:那就是,我们把这一运输问题画成一个树状结构,在这树状结构的每一节点处出发往最终的销售地运输都构成一个运输问题,这样就构成了我们所要考察的一系列运输问题(优化问题),其中我们原本要解决的只是这一系列优化问题中的一个问题而已。动态规划的最典型的倒向递推法的基本思路是上一级和下一级优化问题之间有明确的递推关系,由这类关系,就可以由下往上或由前往后,一级一级解决,最终推至最高一级的优化问题,即我们原本所要解决的问题。这一方法中的上下级优化问题之间的递推关系可如下表述:记在这一树状结构上的任一节点a处往最终的销售地运输货物的最小成本为)(aV。现在,对任一节点a,假定从它出发可到达的下一级的节点分别为kbb,...,1,而从a到jb的运输成本为jc,则有)(min)(1jjkjbVcaV,其中)(jbV为从jb出发到最终的销售地的最小运输成本。而最小一级的运输问题的解是显然的,即若货物已经在销售地(不管在哪个销售地),那么从此地到最终的销售地的最小运输成本显然为0。再由上述的递推关系,就可以一级一级地往上递推,直至最高一级的运输问题,即我们原本要解决的问题。注意,在我们运用这一方法解决问题当中,我们不但在解决其中的每一个子优化问题时,给出了相应的最低的运输成本,而且还同时给出了相应的最优的运输路径。事实上,在解决每一个子运输问题时,只要我们给出最低运输成本,这一运输成本自然就蕴涵了最优的运输路径。因此,运用这一方法,我们只要集中研究每一子问题的最优运输成本就可以了。即在这种方法中,我们着重关心的是目标泛函的取值,而不是象上两种方法那样,直接寻找最优的状态变量或控制变量的路径。5/186最后,我们要说明的是,虽然我们是以离散时间为例来说明动态规划的基本思想的,但动态规划可以处理连续时间情形,但这需要偏微分方程的知识,本课程将只做简单介绍。而上两种方法(变分法和最优控制)最终要归结为常微分方程,所以,常微分方程是我们的基础。因此,在展开优化理论的讨论之前,我们首先介绍最基本的常微分方程的知识。6/186第一章静态优化在这一章,我们快速地浏览一下静态优化问题的数学处理方法。此章内容主要参考了参考文献[3]-[7]。所谓静态优化是相对于动态优化而言的,是不考虑时间因素的优化问题,它的解是一个实数,而动态优化问题的解是一个函数(路径)。静态优化问题一般可表述为maximize)(xfsubjecttox,其中1:RRfn,nR。这里,x表示的就是对优化问题变量的约束。常规的约束等式约束,不等式约束(非严格),或等式与不等式的混合约束,特别地,当nR时,我们称这一优化问题为无约束的。若目标函数和约束皆为凸函数,则相应的优化问题称为凸规划问题;若目标函数和约束皆为线性函数,则相应的优化问题称为线性规划问题;若目标函数为二次函数,约束为线性,则相应的优化问题称为二次规划问题。若有*x使得)()(*xfxf,x,则称*x为上述优化问题的一个解。这个*x也称为f(相对于)的整体最大点(globalmaximum)。若0x满足)()(0xfxf,0xx,其中0x为0x的某邻域,则