8.1 KiB
8.1 KiB
数学函数 - 优化与规划
文档类型:函数事实页 是否可直接用于生成代码:是;本页函数条目均包含参数表 遇到不确定时:回到 ../math.md、../../index.md
本页收录线性规划、二次规划、整数规划、0/1 规划和二次规划辅助求解函数。
服务器优化函数
prog_L(f, a, b, aeq, beq, lower_bounds, upper_bounds, x0, options, binary_indices, integer_indices)
用途:求解带线性约束、边界约束、0/1 约束或整数约束的线性规划问题。
参数个数:11
返回值:数组表;包含 X、Fval、Error_M、Iter
| 参数位置 | 参数名 | 必填 | 接收类型 | 说明 |
|---|---|---|---|---|
| 1 | f |
是 | 数值数组 | 目标函数线性系数 |
| 2 | a |
是 | 数值矩阵/空数组 | 线性不等式约束左侧矩阵 |
| 3 | b |
是 | 数值数组/空数组 | 线性不等式约束右侧向量 |
| 4 | aeq |
是 | 数值矩阵/空数组 | 线性等式约束左侧矩阵 |
| 5 | beq |
是 | 数值数组/空数组 | 线性等式约束右侧向量 |
| 6 | lower_bounds |
是 | 数值数组/空数组 | 变量下界 |
| 7 | upper_bounds |
是 | 数值数组/空数组 | 变量上界 |
| 8 | x0 |
是 | 数值数组 | 初始解 |
| 9 | options |
是 | 数组表/空数组 | 算法选项;使用默认设置时传空数组 |
| 10 | binary_indices |
是 | 整数数组/空数组 | 按 0/1 约束处理的变量下标 |
| 11 | integer_indices |
是 | 整数数组/空数组 | 按整数约束处理的变量下标 |
prog_Q(h, f, a, b, aeq, beq, lower_bounds, upper_bounds)
用途:求解带线性约束和边界约束的二次规划问题。
参数个数:8
返回值:数组表;包含 X、Fval、Error_M、Iter
| 参数位置 | 参数名 | 必填 | 接收类型 | 说明 |
|---|---|---|---|---|
| 1 | h |
是 | 数值矩阵 | 二次项系数矩阵 |
| 2 | f |
是 | 数值数组 | 一次项系数 |
| 3 | a |
是 | 数值矩阵/空数组 | 线性不等式约束左侧矩阵 |
| 4 | b |
是 | 数值数组/空数组 | 线性不等式约束右侧向量 |
| 5 | aeq |
是 | 数值矩阵/空数组 | 线性等式约束左侧矩阵 |
| 6 | beq |
是 | 数值数组/空数组 | 线性等式约束右侧向量 |
| 7 | lower_bounds |
是 | 数值数组/空数组 | 变量下界 |
| 8 | upper_bounds |
是 | 数值数组/空数组 | 变量上界 |
quadprog(h, f, a, b, aeq, beq)
用途:求解标准二次规划问题。
参数个数:6
返回值:数组表;包含 最优值,并用整数键返回各变量解
| 参数位置 | 参数名 | 必填 | 接收类型 | 说明 |
|---|---|---|---|---|
| 1 | h |
是 | 数值矩阵 | 二次项系数矩阵 |
| 2 | f |
是 | 数值数组 | 一次项系数 |
| 3 | a |
是 | 数值矩阵/空数组 | 线性不等式约束左侧矩阵 |
| 4 | b |
是 | 数值数组/空数组 | 线性不等式约束右侧向量 |
| 5 | aeq |
是 | 数值矩阵/空数组 | 线性等式约束左侧矩阵 |
| 6 | beq |
是 | 数值数组/空数组 | 线性等式约束右侧向量 |
linearProgramming(f, a, b, aeq, beq)
用途:求解标准线性规划问题。
参数个数:5
返回值:数组表;包含 最优值,并用整数键返回各变量解
| 参数位置 | 参数名 | 必填 | 接收类型 | 说明 |
|---|---|---|---|---|
| 1 | f |
是 | 数值数组 | 目标函数线性系数 |
| 2 | a |
是 | 数值矩阵/空数组 | 线性不等式约束左侧矩阵 |
| 3 | b |
是 | 数值数组/空数组 | 线性不等式约束右侧向量 |
| 4 | aeq |
是 | 数值矩阵/空数组 | 线性等式约束左侧矩阵 |
| 5 | beq |
是 | 数值数组/空数组 | 线性等式约束右侧向量 |
quadLagR(h, f, aeq, beq)
用途:用拉格朗日方法求解带等式约束的二次规划问题。
参数个数:4
返回值:数组表;包含 最优值,并用整数键返回各变量解
| 参数位置 | 参数名 | 必填 | 接收类型 | 说明 |
|---|---|---|---|---|
| 1 | h |
是 | 数值矩阵 | 二次项系数矩阵 |
| 2 | f |
是 | 数值数组 | 一次项系数 |
| 3 | aeq |
是 | 数值矩阵 | 线性等式约束左侧矩阵 |
| 4 | beq |
是 | 数值数组 | 线性等式约束右侧向量 |
ozProg(f, a, b)
用途:求解 0/1 规划问题。
参数个数:3
返回值:数组表;包含 最优值,并用整数键返回各变量解
| 参数位置 | 参数名 | 必填 | 接收类型 | 说明 |
|---|---|---|---|---|
| 1 | f |
是 | 数值数组 | 目标函数线性系数 |
| 2 | a |
是 | 数值矩阵 | 线性不等式约束左侧矩阵 |
| 3 | b |
是 | 数值数组 | 线性不等式约束右侧向量 |
quadTrackRoute(h, f, a, b, aeq, beq, x0)
用途:用路径跟踪法求解二次规划问题。
参数个数:7
返回值:数组表;包含 最优值,并用整数键返回各变量解
| 参数位置 | 参数名 | 必填 | 接收类型 | 说明 |
|---|---|---|---|---|
| 1 | h |
是 | 数值矩阵 | 二次项系数矩阵 |
| 2 | f |
是 | 数值数组 | 一次项系数 |
| 3 | a |
是 | 数值矩阵/空数组 | 线性不等式约束左侧矩阵 |
| 4 | b |
是 | 数值数组/空数组 | 线性不等式约束右侧向量 |
| 5 | aeq |
是 | 数值矩阵/空数组 | 线性等式约束左侧矩阵 |
| 6 | beq |
是 | 数值数组/空数组 | 线性等式约束右侧向量 |
| 7 | x0 |
是 | 数值数组 | 初始解 |
intLinProg(f, a, b, aeq, beq, integer_indices)
用途:求解整数线性规划问题。
参数个数:6
返回值:数组表;包含 最优值,并用整数键返回各变量解
| 参数位置 | 参数名 | 必填 | 接收类型 | 说明 |
|---|---|---|---|---|
| 1 | f |
是 | 数值数组 | 目标函数线性系数 |
| 2 | a |
是 | 数值矩阵/空数组 | 线性不等式约束左侧矩阵 |
| 3 | b |
是 | 数值数组/空数组 | 线性不等式约束右侧向量 |
| 4 | aeq |
是 | 数值矩阵/空数组 | 线性等式约束左侧矩阵 |
| 5 | beq |
是 | 数值数组/空数组 | 线性等式约束右侧向量 |
| 6 | integer_indices |
是 | 整数数组/空数组 | 按整数约束处理的变量下标;传空数组时按函数默认规则处理 |