主要内容

整数约束非线性具体问题具体分析优化

为了解决整数约束的非线性优化问题采用具体问题具体分析的方法,遵循这些流程之一:

  • 如果你有一个全局优化工具箱许可证,制定具体问题具体分析的方法的问题像往常一样。遗传算法(全局优化工具箱)是默认为整数约束的非线性问题解决者。您还可以指定surrogateopt(全局优化工具箱)的解决者解算器的观点解决

  • 使用solver-based方法遗传算法surrogateopt解算器。solver-based方法需要修改目标函数和非线性约束函数当这些动力学之间的切换。

  • 将问题转换为一个结构prob2struct,然后使用一个外部的能手。

  • 有时,你可以使用迭代近似非线性整数问题intlinprog。这种方法的一个示例,请参阅混合整数二次规划投资组合优化:具体问题具体分析

当你使用一个外部解决者和电话prob2struct,您可能需要指定解算器名称-值参数。

请注意

对于整数约束的非线性问题,如果你没有全局优化工具箱许可证,你必须包括解算器论点。

即使你有一个全局优化工具箱许可证,你还可能需要指定解算器名称-值参数。外部解算器可以预期问题结构的形式,对应于一个特定的解决者。例如,对于一个问题和线性整数约束和二次目标函数,外部解算器可能需要目标函数表示为矩阵Hf在表达½xTHx+fTx。为了获得这些矩阵,指定“quadprog”解算器通过使用解算器名称-值参数。

问题= prob2struct(概率,“规划求解”,“quadprog”);

如果你不指定quadprog解决,由此产生的问题结构可以包含一个函数处理目标函数而不是矩阵。在这两种情况下,由此产生的问题结构中包含整数变量intcon字段。

请注意

非线性整数约束的问题,当你指定一个解算器不能处理整数约束,prob2struct发出警告说,解决不能解决由此产生的结构。如果你想解决这个问题通过调用问题的解算器结构,解决者忽略了整数约束。在这种情况下,解决的办法不是解决原来的问题,而是解决问题没有整数约束。

另请参阅

||(全局优化工具箱)|(全局优化工具箱)