非线性规划问题的处理方法及装置制造方法及图纸

技术编号:20842589 阅读:25 留言:0更新日期:2019-04-13 08:45
本说明书一个或多个实施例公开了一种非线性规划问题的处理方法及装置,用以有效求解分段函数的非线性规划问题。所述方法包括:获取待求解的非线性表达式对应的第一模型,所述第一模型为利用预设方式描述所述非线性表达式的模型;所述非线性表达式包含约束条件;将所述第一模型转换为指定语言能够识别的第二模型;利用所述指定语言执行所述第二模型,得到所述非线性表达式对应的执行结果;及,输出所述执行结果。

【技术实现步骤摘要】
非线性规划问题的处理方法及装置
本说明书涉及非线性规划
,尤其涉及一种非线性规划问题的处理方法及装置。
技术介绍
非线性规划问题的求解有很多方法,现有技术中,常用的求解非线性规划问题的方法为拉格朗日乘子法、罚函数法、增广拉格朗日乘子法等。当非线性规划问题的目标函数为连续函数、且约束条件较少的情况下,上述方法的求解效率会比较高并且有效。但是,如果目标函数中含有的复合子函数为分段函数,那么上述几种方法也就不适用了。原因在于,上述几种方法在求解过程中,都需要先将有约束的非线性规划问题转变为无约束的非线性规划问题,然后求解目标函数的一阶导数。而分段函数意味着函数不连续,存在不可导的地方,即无法求解目标函数的导数,从而导致无法采用上述几种方法来求解非线性规划问题。
技术实现思路
本说明书一个或多个实施例的目的是提供一种非线性规划问题的处理方法及装置,用以有效求解分段函数的非线性规划问题。为解决上述技术问题,本说明书一个或多个实施例是这样实现的:一方面,本说明书一个或多个实施例提供一种非线性规划问题的处理方法,包括:获取待求解的非线性表达式对应的第一模型,所述第一模型为利用预设方式描述所述非线性表达式的模型;所述非线性表达式包含约束条件;将所述第一模型转换为指定语言能够识别的第二模型;利用所述指定语言执行所述第二模型,得到所述非线性表达式对应的执行结果;及,输出所述执行结果。在一个实施例中,所述获取待求解的非线性表达式对应的第一模型,包括:获取所述非线性表达式;利用所述预设方式描述所述非线性表达式,得到所述非线性表达式对应的第一模型;其中,所述第一模型包含输入表达式、输出表达式、演绎表达式、约束表达式、目标表达式中的至少一项表达式。在一个实施例中,所述将所述第一模型转换为指定语言能够识别的第二模型,包括以下至少一项:在所述第一模型中的所述输入表达式和/或所述演绎表达式的结尾位置添加预设符号;其中,所述预设符号为所述指定语言能够识别的符号;将所述第一模型中的所述约束表达式转换为布尔表达式;及,将所述布尔表达式赋值给所述约束表达式对应的赋值变量;将所述第一模型中的第一参数转换为所述指定语言能够识别的第二参数。在一个实施例中,所述将所述布尔表达式赋值给所述约束表达式对应的赋值变量,包括:计算所述约束表达式对应的哈希值;根据所述哈希值和/或预设参数,生成所述约束表达式对应的赋值变量;将所述布尔表达式赋值给所述生成的赋值变量。在一个实施例中,所述利用所述指定语言执行所述第二模型,得到所述非线性表达式对应的执行结果,包括:多次迭代以下步骤,直至获得所述非线性表达式的最优解和/或达到预设迭代次数:生成一组输出变量值;将所述输出变量值作为所述第二模型中的各所述表达式的输入值进行计算,得到所述非线性表达式的第一解;判断所述第一解是否满足所述约束条件;若满足所述约束条件,则进一步判断所述第一解是否为所述最优解;若为所述最优解,则输出所述最优解;若不满足所述约束条件和/或不为所述最优解,则重新生成一组输出变量值。在一个实施例中,所述判断所述第一解是否满足所述约束条件,包括:根据所述第一解确定所述布尔表达式的布尔值;及,判断所述布尔值是否为真;若是,则确定所述第一解满足所述约束条件;若否,则确定所述第一解不满足所述约束条件。在一个实施例中,所述执行结果为最优解或无解;相应的,所述方法还包括:若所述执行结果为无解,则按照预设规则更新所述目标表达式;其中,所述更新包括降低所述目标表达式对应的目标值。另一方面,本说明书一个或多个实施例提供一种非线性规划问题的处理装置,包括:获取模块,用于获取待求解的非线性表达式对应的第一模型,所述第一模型为利用预设方式描述所述非线性表达式的模型;所述非线性表达式包含约束条件;转换模块,用于将所述第一模型转换为指定语言能够识别的第二模型;执行模块,用于利用所述指定语言执行所述第二模型,得到所述非线性表达式对应的执行结果;及,输出所述执行结果。在一个实施例中,所述获取模块包括:获取单元,用于获取所述非线性表达式;描述单元,用于利用所述预设方式描述所述非线性表达式,得到所述非线性表达式对应的第一模型;其中,所述第一模型包含输入表达式、输出表达式、演绎表达式、约束表达式、目标表达式中的至少一项表达式。在一个实施例中,所述转换模块包括以下至少一项:添加单元,用于在所述第一模型中的所述输入表达式和/或所述演绎表达式的结尾位置添加预设符号;其中,所述预设符号为所述指定语言能够识别的符号;转换及赋值单元,用于将所述第一模型中的所述约束表达式转换为布尔表达式;及,将所述布尔表达式赋值给所述约束表达式对应的赋值变量;转换单元,用于将所述第一模型中的第一参数转换为所述指定语言能够识别的第二参数。在一个实施例中,所述转换及赋值单元还用于:计算所述约束表达式对应的哈希值;根据所述哈希值和/或预设参数,生成所述约束表达式对应的赋值变量;将所述布尔表达式赋值给所述生成的赋值变量。在一个实施例中,所述执行模块包括:迭代单元,用于多次迭代以下步骤,直至获得所述非线性表达式的最优解和/或达到预设迭代次数:生成一组输出变量值;将所述输出变量值作为所述第二模型中的各所述表达式的输入值进行计算,得到所述非线性表达式的第一解;判断所述第一解是否满足所述约束条件;若满足所述约束条件,则进一步判断所述第一解是否为所述最优解;若为所述最优解,则输出所述最优解;若不满足所述约束条件和/或不为所述最优解,则重新生成一组输出变量值。在一个实施例中,所述迭代单元还用于:根据所述第一解确定所述布尔表达式的布尔值;及,判断所述布尔值是否为真;若是,则确定所述第一解满足所述约束条件;若否,则确定所述第一解不满足所述约束条件。在一个实施例中,所述执行结果为最优解或无解;相应的,所述装置还包括:更新模块,用于若所述执行结果为无解,则按照预设规则更新所述目标表达式;其中,所述更新包括降低所述目标表达式对应的目标值。再一方面,本说明书一个或多个实施例提供一种非线性规划问题的处理设备,包括:处理器;以及被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:获取待求解的非线性表达式对应的第一模型,所述第一模型为利用预设方式描述所述非线性表达式的模型;所述非线性表达式包含约束条件;将所述第一模型转换为指定语言能够识别的第二模型;利用所述指定语言执行所述第二模型,得到所述非线性表达式对应的执行结果;及,输出所述执行结果。再一方面,本申请实施例提供一种存储介质,用于存储计算机可执行指令,所述可执行指令在被执行时实现以下流程:获取待求解的非线性表达式对应的第一模型,所述第一模型为利用预设方式描述所述非线性表达式的模型;所述非线性表达式包含约束条件;将所述第一模型转换为指定语言能够识别的第二模型;利用所述指定语言执行所述第二模型,得到所述非线性表达式对应的执行结果;及,输出所述执行结果。采用本说明书一个或多个实施例的技术方案,通过获取待求解的非线性表达式对应的第一模型,该第一模型为利用预设方式描述非线性表达式的模型,并将第一模型转换为指定语言能够识别的第二模型,进而利用指定语言执行第二模型,得到非线性表达式对应的执行结果,并输出该执行结果。可见,该技术方案本文档来自技高网...

【技术保护点】
1.一种非线性规划问题的处理方法,包括:获取待求解的非线性表达式对应的第一模型,所述第一模型为利用预设方式描述所述非线性表达式的模型;所述非线性表达式包含约束条件;将所述第一模型转换为指定语言能够识别的第二模型;利用所述指定语言执行所述第二模型,得到所述非线性表达式对应的执行结果;及,输出所述执行结果。

【技术特征摘要】
1.一种非线性规划问题的处理方法,包括:获取待求解的非线性表达式对应的第一模型,所述第一模型为利用预设方式描述所述非线性表达式的模型;所述非线性表达式包含约束条件;将所述第一模型转换为指定语言能够识别的第二模型;利用所述指定语言执行所述第二模型,得到所述非线性表达式对应的执行结果;及,输出所述执行结果。2.根据权利要求1所述的方法,所述获取待求解的非线性表达式对应的第一模型,包括:获取所述非线性表达式;利用所述预设方式描述所述非线性表达式,得到所述非线性表达式对应的第一模型;其中,所述第一模型包含输入表达式、输出表达式、演绎表达式、约束表达式、目标表达式中的至少一项表达式。3.根据权利要求2所述的方法,所述将所述第一模型转换为指定语言能够识别的第二模型,包括以下至少一项:在所述第一模型中的所述输入表达式和/或所述演绎表达式的结尾位置添加预设符号;其中,所述预设符号为所述指定语言能够识别的符号;将所述第一模型中的所述约束表达式转换为布尔表达式;及,将所述布尔表达式赋值给所述约束表达式对应的赋值变量;将所述第一模型中的第一参数转换为所述指定语言能够识别的第二参数。4.根据权利要求3所述的方法,所述将所述布尔表达式赋值给所述约束表达式对应的赋值变量,包括:计算所述约束表达式对应的哈希值;根据所述哈希值和/或预设参数,生成所述约束表达式对应的赋值变量;将所述布尔表达式赋值给所述生成的赋值变量。5.根据权利要求3或4所述的方法,所述利用所述指定语言执行所述第二模型,得到所述非线性表达式对应的执行结果,包括:多次迭代以下步骤,直至获得所述非线性表达式的最优解和/或达到预设迭代次数:生成一组输出变量值;将所述输出变量值作为所述第二模型中的各所述表达式的输入值进行计算,得到所述非线性表达式的第一解;判断所述第一解是否满足所述约束条件;若满足所述约束条件,则进一步判断所述第一解是否为所述最优解;若为所述最优解,则输出所述最优解;若不满足所述约束条件和/或不为所述最优解,则重新生成一组输出变量值。6.根据权利要求5所述的方法,所述判断所述第一解是否满足所述约束条件,包括:根据所述第一解确定所述布尔表达式的布尔值;及,判断所述布尔值是否为真;若是,则确定所述第一解满足所述约束条件;若否,则确定所述第一解不满足所述约束条件。7.根据权利要求2所述的方法,所述执行结果为最优解或无解;相应的,所述方法还包括:若所述执行结果为无解,则按照预设规则更新所述目标表达式;其中,所述更新包括降低所述目标表达式对应的目标值。8.一种非线性规划问题的处理装置,包括:获取模块,用于获取待求解的非线性表达式对应的第一模型,所述第一模型为利用预设方式描述所述非线性表达式的模型;所述非线性表达式包含约束条件;转换模块,用于将所述第一模型转换为指定语言能够识别的第二模型;执行模块,用于利用所述指定语言执行所述第二模型,得到所述非线性表达式对应的执行结果;及,输出所述执行结果。9.根据...

【专利技术属性】
技术研发人员:钱瑜
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛,KY

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1