主要内容

optimproblem

创建优化问题

描述

使用optimproblem创造一个优化问题。

提示

有关完整的工作流,请参见具体问题具体分析优化工作流程

例子

概率= optimproblem使用默认属性创建优化问题。

例子

概率= optimproblem (名称,值使用一个或多个指定的附加选项名称,值对参数。例如,要指定一个最大化问题而不是最小化问题,使用概率= optimproblem(“ObjectiveSense”、“最大化”)

例子

全部折叠

创建一个带有默认属性的优化问题。

概率= optimproblem
prob = optimizationproblems with properties:描述:" ObjectiveSense: 'minimize' Variables: [0x0 struct] containing 0 OptimizationVariables Objective: [0x0 OptimizationExpression] Constraints: [0x0 struct] containing 0 OptimizationConstraints无问题定义。

创建一个最大化的线性规划问题。该问题有两个正变量和三个线性不等式约束。

概率= optimproblem (“ObjectiveSense”“马克斯”);

创建积极的变量。在问题中包含一个目标函数。

x = optimvar (“x”、2、1,下界的, 0);概率。x(1) + 2*x(2);

在问题中创建线性不等式约束。

con1 = x(1) + 5*x(2) <= 100;con2 = x(1) + x(2) <= 40;con3 = 2*x(1) + x(2)/2 <= 60;prob.Constraints。cons1 = cons1;prob.Constraints。cons2 = cons2;prob.Constraints。cons3 = cons3;

回顾这个问题。

显示(概率)
优化问题:解:x maximize: x(1) + 2*x(2) subject to con1: x(1) + 5*x(2) <= 100 subject to con2: x(1) + x(2) <= 40 subject to con3: 2*x(1) + 0.5*x(2) <= 60 variable bounds: 0 <= x(1) 0 <= x(2)

解决这个问题。

索尔=解决(问题);
使用linprog解决问题。找到最优解。
sol.x
ans =2×125.0000 - 15.0000

输入参数

全部折叠

名称-值对的观点

指定可选的逗号分隔的对名称,值参数。的名字参数名和价值为对应值。的名字必须出现在引号内。可以以任意顺序指定多个名称和值对参数Name1, Value1,…,的家

例子:要指定一个最大化问题,请使用概率= optimproblem(“ObjectiveSense”、“最大化”)

问题约束,指定为OptimizationConstraint数组或结构OptimizationConstraint数组作为字段。

例子:/ /最优问题(x,2)

问题标签,指定为字符串或字符向量。该软件不使用描述为计算。描述是一个可用于任何原因的任意标签。例如,您可以共享、归档或呈现一个模型或问题,并存储关于模型或问题的描述性信息描述

例子:“旅行推销员问题的迭代方法”

数据类型:字符|字符串

目标函数,指定为标量OptimizationExpression对象。

例子:概率= optimproblem(“目标”,总和(sum (x)))对于一个二维变量x

优化意义,具体为“最小化”“最大化”.你也可以指定“最小值”获得“最小化”“马克斯”获得“最大化”.的解决功能最小化目标时ObjectiveSense“最小化”使目标最大化ObjectiveSense“最大化”

例子:概率= optimproblem(“ObjectiveSense”、“max”)

数据类型:字符|字符串

输出参数

全部折叠

最优化问题,返回为OptimizationProblem对象。通常,为了完成问题描述,您需要指定一个目标函数和约束条件。但是,你可以有一个没有目标函数的可行性问题,或者你可以有一个没有约束的问题。通过打电话来解决一个完整的问题解决

警告

基于问题的方法不支持目标函数、非线性等式或非线性不等式中的复值。万博1manbetx如果函数计算具有复值,即使是中间值,最终结果也可能是不正确的。

介绍了R2017b