189 8069 5689

动态规划求解背包问题用动态规划求解非线性规划问题?-创新互联

用动态规划求解非线性规划问题?到目前为止,商业软件在解决非线性问题上有一些局限性。例如,CPLEX只能用于求解二次规划(QP)、带二次凸约束的二次规划(QCQP)、二阶锥规划(SOCP)以及相应的混合整数问题。没有办法解决其他非线性问题。当然,MOSEK也可以解半定规划,也就是说,非线性规划的商业软件解有很大的局限性。当然,也有一些通用软件,如bonminforfree和knitroforpayment,也可以用来求解大规模非线性规划问题,但结果一般都是局部解。一些声称能得到全局非线性解的解算器只能用于解决小规模问题,而大规模问题则无法解决。这取决于你的个人选择。此外,本文还介绍了yalmip,它是MATLAB与求解器之间的一个很好的桥梁。这样,您的建模效率将大大提高。祝你好运动态规划求解背包问题 用动态规划
求解非线性规划问题?

memo方法是一种变形的动态规划方法。与动态规划算法不同,memo方法的递推方式是自顶向下的,而动态规划算法是自下而上的。例如:LCS问题:当席=YJ,C[I,J]只需要知道C[I-1,J-1],而不是C[I,0]~C[I,J-1]和C[I-1,J]~C[I-1,N]。当只需要一个LCS时,一些C[P,q]可能不会在整个溶液过程中使用。一般情况下,当一个问题可以用动态规划来求解时,二维数组中相当数量的元素不会用到整个计算中。我们不需要递归地逐个计算二维数组中的元素。使用memo方法:数组中的元素只在需要计算时才计算,并且计算是递归的。计算完这些值后,将保存这些值以用于其他目的。例如:LCs的问题:首先,将C[I,0](0≤I≤m)和C[0,J](1≤J≤n)初始化为0。其余的m×nc[I,J]都初始化为-1。计算C[I,J]L2(x,y,I,J,C)的递归算法LCS(memo方法):如果x[I]=y[J],检查C[I-1,J-1],如果C[I-1,J-1]>-1(计算),将C[I-1,J-1]1赋值给C[I,J],并返回。如果C[I-1,J-1]=-1(尚未计算),则递归调用LCSL2(x,y,I-1,J-1,C)计算C[I-1,J-1],然后将C[I-1,J-1]1赋给C[I,J],并返回。如果x[i]1,y[J],检查C[i-1,J]和C[i,J-1]。如果两者都大于-1(已计算),则将Max{C[I-1,J],C[I,J-1]}赋给C[I,J],并返回。如果C[I-1,J],C[I,J-1]中的一个等于-1(尚未计算),或者两者都等于-1,则递归调用LCS,L2计算它,然后将Max{C[I-1,J],C[I,J-1]}赋值给C[I,J]。如果大量的子问题不需要解决,memo方法可以节省时间。但是当只需要计算少数或全部子问题时,递归方法比memo方法(如矩阵乘法、最优二叉搜索树)要好

让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:域名申请虚拟主机、营销软件、网站建设、武冈网站维护、网站推广。
当前文章:动态规划求解背包问题用动态规划求解非线性规划问题?-创新互联
URL分享:http://cdxtjz.cn/article/ddejdo.html

其他资讯