NMaxValue
更多信息和选项
- NMaxValue 亦称为全局优化 (GO).
- NMaxValue 总是尝试求给定约束条件限制下 f 的全局最大值.
- NMaxValue 通常用于求给定约束条件下可能的最大值. 在不同的领域,这可能被称为最佳策略、最佳方案、最佳配置等.
- 如果 f 是线性的或凹的,cons 是线性的或凸的,NMaxValue 给出的结果将是实数和整数值上的全局最大值;否则,有时结果可能只是局部最大值.
- 如果 NMaxValue 发现无法满足约束条件,则会返回 -Infinity.
- NMaxValue 支持一种建模语言,其中目标函数 f 和约束条件 cons 是用依赖于标量或向量变量的表达式给出的. f 和 cons 通常被解析为非常有效的形式,但只要 f 和 cons 中的项给出变量的数值结果,NMaxValue 通常可以找到解.
- 约束条件 cons 可以是以下表达式的任意逻辑组合:
-
lhs==rhs 等式 lhs>rhs, lhs≥rhs, lhs<rhs, lhs≤rhs 不等式 (LessEqual、…) lhsrhs, lhsrhs, lhsrhs, lhsrhs 向量不等式 (VectorLessEqual、…) {x,y,…}∈rdom 区域或域的指定 - NMaxValue[{f,cons},x∈rdom] 实际上等价于 NMaxValue[{f,cons&&x∈rdom},x].
- 对于 x∈rdom,可用 Indexed[x,i] 来指代不同的坐标.
- 可能的域 rdom 包括:
-
Reals 实标量变量 Integers 整数标量变量 Vectors[n,dom]
中的向量变量Matrices[{m,n},dom]
中的矩阵变量ℛ 限制在几何区域
中的向量变量 - 在缺省情况下,假定所有变量为实数.
- 可给出以下选项:
-
AccuracyGoal Automatic 追求多少位的准确度 EvaluationMonitor None 计算 f 时要计算的表达式 MaxIterations Automatic 使用的最大迭代次数 Method Automatic 使用的方法 PrecisionGoal Automatic 追求多少位的精度 StepMonitor None 每次迭代时要计算的表达式 WorkingPrecision MachinePrecision 内部计算使用的精度 - AccuracyGoal 和 PrecisionGoal 的设置指定了搜索最大值所在位置(最大化点)和函数的最大值时应使用的位数.
- NMaxValue 持续运行,直到 AccuracyGoal 或 PrecisionGoal 指定的目标实现为止.
- NMaxValue 的方法分为两类. 第一类方法利用问题的属性,因此当方法收敛时,找到的最大值保证是全局的. 第二类启发式方法使用的方法可能包括多个局部搜索,通常通过一些随机性进行调整以锁定全局最大值. 这些方法通常能找到全局最大值,但无法保证.
- 在收敛到解时确保可以给出全局最大值的方法包括:
-
"Convex" 只使用凸方法 "MOSEK" 对于凸问题,使用商用 MOSEK 库 "Gurobi" 对于凸问题,使用商用 Gurobi 库 "Xpress" 对于凸问题,使用商用 Xpress 库 - 启发式方法包括:
-
"NelderMead" Nelder 和 Mead 的单纯形法 "DifferentialEvolution" 使用差分进化 "SimulatedAnnealing" 使用模拟退火 "RandomSearch" 使用从多个随机起始点中找到的最佳局部最大值 "Couenne" 使用 Couenne 库处理非凸混合整数非线性问题
范例
打开所有单元 关闭所有单元基本范例 (5)
NMaxValue[-2x ^ 2 - 3x + 5, x]NMaxValue[1 - (x y - 3) ^ 2, {x, y}]NMaxValue[{x - 2y, x ^ 2 + y ^ 2 ≤ 1}, {x, y}]MaxValue[x + y, {x, y}∈Disk[]]NMaxValue[x + y, {x, y}∈Disk[]]范围 (34)
基本用法 (12)
NMaxValue[{x + 2y, x^2 + 2y^2 ≤ 3, x + y == 2, x ≥ 1}, {x, y}]可用 VectorGreaterEqual 表示几个线性不等式约束条件:
NMaxValue[{-x - y, VectorGreaterEqual[{{x + 2y, x}, {3, -1}}]}, {x, y}]用
v>=
或 \[VectorGreaterEqual] 输入向量不等式符号 :
NMaxValue[{-x - y, {x + 2y, x}{3, -1}}, {x, y}]NMaxValue[{-x - y, x + 2y ≥ 3, x ≥ -1}, {x, y}]NMaxValue[{{-1, -1}.v, {{1, 2}, {1, 0}}.v{3, -1}}, v]NMaxValue[{{-1, -1}.x, {{1, 2}, {1, 0}}.x + {-3, 1}0}, x]NMaxValue[{{-1, -1}.x, {{1, 2}, {1, 0}}.x{3, -1}}, x]如果想要避免
中不想要的逐项运算,可使用 Inactive[Plus]:
NMaxValue[{{-1, -1}.x, {{1, 2}, {1, 0}}.x + {-3, 1}0}, x]parEqs = {a == {{1, 2}, {1, 0}}, b == {3, -1}};NMaxValue[{{-1, -1}.x, {parEqs, a.x + b0}}, x]VectorGreaterEqual 表示关于 "NonNegativeCone" 的锥不等式:
constraint = VectorGreaterEqual[{{{1, 2}, {1, 0}}.v, {3, -1}}, "NonNegativeCone"]如果想明确指定锥体的尺寸,可使用 {"NonNegativeCone",n}:
constraint = VectorGreaterEqual[{{{1, 2}, {1, 0}}.v, {3, -1}}, {"NonNegativeCone", 2}]NMaxValue[{{-1, -1}.v, constraint}, v]NMaxValue[{x + 2y, x^2 + y^2 ≤ 9}, {x, y}]constraint = VectorGreaterEqual[{{x, y, 3}, 0}, {"NormCone", 3}]NMaxValue[{x + 2y, constraint}, {x, y}]{a, b} = {-{{1, 1, 0}, {0, 1, 1}, {1, 1, 1}}, {2, 2, -1}};用 Indexed 访问向量变量的分量,如
:
NMaxValue[{Total[x], a.xb, Indexed[x, 1] ≥ 1}, x]当向量变量不明确时,用 Vectors[n,dom] 指定维度和域:
NMaxValue[{Indexed[x, {1}] + 2Indexed[x, {2}], (| | |
| ---------------- | ---------------- |
| Indexed[-x, {1}] | 1 |
| 1 | Indexed[-x, {2}] |)Underscript[, {"SemidefiniteCone", 2}]0}, x]NMaxValue[{Indexed[x, {1}] + Indexed[2x, {2}], (| | |
| ---------------- | ---------------- |
| Indexed[-x, {1}] | 1 |
| 1 | Indexed[-x, {2}] |)Underscript[, {"SemidefiniteCone", 2}]0}, x∈Vectors[2, Reals]]用 NonNegativeReals (
) 指定非负约束条件:
NMaxValue[{{1, 1}.x, {Indexed[x, {1}], Indexed[x, {2}], 1}Underscript[, {"NormCone", 3}]0}, x∈Vectors[2, NonNegativeReals]]NMaxValue[{{1, 1}.x, {Indexed[x, {1}], Indexed[x, {2}], 1}Underscript[, {"NormCone", 3}]0, x0}, x]用 NonPositiveReals (
) 指定非正约束条件:
NMaxValue[{Total[v], {1, 2}.v-3}, v∈Vectors[2, NonPositiveReals]]NMaxValue[{Total[v], {1, 2}.v-3, v0}, v]可以指定 Or 约束条件:
NMaxValue[{x + y, x ^ 2 + y ^ 2 ≤ 1 || (x + 2) ^ 2 + (y + 2) ^ 2 ≤ 1}, {x, y}]//Quiet域约束条件 (4)
用 Integers 指定整数域约束条件:
NMaxValue[{x + y, x + 2y ≤ 3, x ≤ 1}, {x, y∈Integers}]用 Vectors[n,Integers] 指定向量变量的整数域约束条件:
NMaxValue[{Total[x], a == {{1, 2}, {1, 0}}, b == {-3, 2},
a.xb}, x∈Vectors[2, Integers]]用 NonNegativeIntegers (
) 指定非负整数域约束条件:
NMaxValue[{x + 2y, x^2 + 2y^2 ≤ 3, x + y == 2, x∈NonNegativeIntegers}, {x, y}]用 NonPositiveIntegers (
) 指定非正整数域约束条件:
NMaxValue[{x - y, x + 2y ≥ 3, x∈NonPositiveIntegers}, {x, y}]区域约束条件 (3)
NMaxValue[x.{1, 2, 3}, x∈Ball[]]t = RotationTransform[{{0, 0, 1}, {1, 1, 1}}];
ℛ = TransformedRegion[Ellipsoid[{0, 0, 0}, {1, 2, 3}], t];NMaxValue[z, {x, y, z}∈ℛ]Subscript[ℛ, 1] = Disk[];
Subscript[ℛ, 2] = Line[{{-2, 0}, {0, 2}}];NMaxValue[EuclideanDistance[{x, y}, {u, v}], {{x, y}∈Subscript[ℛ, 1], {u, v}∈Subscript[ℛ, 2]}]线性问题 (5)
NMaxValue[{x + y, 3x + 2y ≤ 7 && x + 2y ≤ 6 && x ≥ 0 && y ≥ 0}, {x, y}]NMaxValue[{y - x, x + y + z == 1 / 2, x - 2z == 1, 2x - y ≥ 1}, {x, y, z}]用 Equal 一次表示几个等式约束条件:
NMaxValue[{y - x, {x + y, x - y} == {1 / 2, 1}}, {x, y}]NMaxValue[{y - x, x + y == 1 / 2, x - y == 1}, {x, y}]用 VectorLessEqual 一次表示几个 LessEqual 不等式约束条件:
NMaxValue[{x + y, VectorGreaterEqual[{{x - 2y, -x + y}, {3, 2}}]}, {x, y}]NMaxValue[{x + y, {x - 2y, -x + y}{3, 2}}, {x, y}]NMaxValue[{x + y, {x - 2y ≥ 3, -x + y ≥ 2}}, {x, y}]用 Interval 指定变量的范围:
NMaxValue[{x + y, x + 2y ≥ 3}, {x∈Interval[{-1, 2}], y∈Interval[{-1, 1}]}]凸问题 (4)
用 "NonNegativeCone" 指定形如
的线性函数:
NMaxValue[{Total[x],
VectorGreaterEqual[{{{-1, -1 / 2}, {1, -1 / 2}, {0, 1}}.x, {-1 / 2, -1 / 2, -1 / 2}}, {"NonNegativeCone", 3}]}, x]NMaxValue[{Total[x], {{-1, -(1/2)}, {1, -(1/2)}, {0, 1}}.x-(1/2)}, x]res = NMaxValue[{-((x - 1)^2 + y^2), x^2 + (y^2/2) ≤ (1/2), 2x^2 ≤ 3y}, {x, y}]Plot3D[-((x - 1)^2 + y^2), {x, -1, 1}, {y, 0, 1}, ...]NMaxValue[{-(10x + 11 y), (| | |
| - | - |
| x | 1 |
| 1 | y |)Underscript[, {"SemidefiniteCone", 2}]0}, {x, y}]Plot3D[-(10x + 11y), {x, 0, 5}, {y, 0, 5}, ...]res = NMaxValue[{Log[x + y], (| | |
| ----- | ----- |
| x + y | 1 |
| 1 | x - y |)Underscript[, {"SemidefiniteCone", 2}]0, 1 ≤ x ≤ 10, -1 ≤ y ≤ 1}, {x, y}]Show[Plot3D[Log[x + y], {x, 1, 10}, {y, -1, 1}, ...], Graphics3D[{Red, PointSize[0.05], Point[{10, 1, res}]}]]可转化为凸问题的问题 (3)
最大化受不等式和范数约束条件限制的拟凹函数
. 目标函数是拟凹的,因为它是两个非负仿射函数的乘积:
NMaxValue[{x y, x ≥ 0, y ≥ 0, Norm[{x - 1, y - 2}] ≤ 1}, {x, y}]最大化是通过最小化目标函数的负值
(拟凸函数)来解决的. 可将拟凸问题作为参数
的参数凸优化问题求解:
pfun = ParametricConvexOptimization[0, {-x y ≤ α, x ≥ 0, y ≥ 0,
Norm[{x - 1, y - 2}] ≤ 1}, {x, y}, α, "PrimalMinimizerRules"]fun[α_ ? NumericQ] := -x * y /. pfun[α];
Plot[fun[α], {α, -4.68, 0}, PlotRange -> All]pfun[-4.68]pfun[-4.69]根据约束条件
最大化
. 目标是非凸但可通过凸差函数
表示,其中
和
为凸函数:
res = NMaxValue[{x ^ 2 - y ^ 2, Norm[{x, y}] <= 2}, {x, y}]Show[Plot3D[x ^ 2 - y ^ 2, {x, -2, 2}, {y, -2, 2}, ...], Graphics3D[
{PointSize[0.04], Point[{2, 0, res}]}]]根据约束条件
最大化
. 约束条件
为非凸但可通过凸差约束条件
表示,其中
和
为凸函数:
res = NMaxValue[{x ^ 2 + y ^ 2 + x + y, 1 <= Norm[{x, y}] <= 2}, {x, y}]Show[Plot3D[x ^ 2 + y ^ 2 + x + y, {x, -2, 2}, {y, -2, 2}, ...], Graphics3D[
{PointSize[0.04], Point[{Sqrt[2], Sqrt[2], res}]}]]普通问题 (3)
res = NMaxValue[{x + y, Sin[2x] + Cos[3y] ≤ 1, Norm[{x, y}] ≤ 2}, {x, y}]Show[Plot3D[x + y, {x, -2, 2}, {y, -2, 2}, ...], Graphics3D[{Blue, PointSize[0.03], Point[{1.414, 1.414, res}]}]]res = NMaxValue[{Sin[2x] + Cos[x], -2 ≤ x ≤ 3}, x]Plot[Sin[2x] + Cos[x], {x, -2, 3}, Rule[...]]res = NMaxValue[{Sin[x^2 + y], Sin[2x] + Cos[3y] ≤ 1, Norm[{x^2, y}] ≤ 2}, {x, y}]Show[Plot3D[Sin[x^2 + y], {x, -2, 2}, {y, -2, 2}, ...], Graphics3D[{Blue, PointSize[0.03], Point[{0.719, 1.054, res}]}]]选项 (7)
AccuracyGoal & PrecisionGoal (2)
NMaxValue[-Sin[Tan[x] / 2], x, AccuracyGoal -> 9, PrecisionGoal -> 8]强调收敛标准
和
,这在使用默认机器精度的计算中是无法实现的:
NMaxValue[-Sin[Tan[x] / 2], x, AccuracyGoal -> 20, PrecisionGoal -> 18]设置一个较高的 WorkingPrecision,使过程收敛:
NMaxValue[-Sin[Tan[x] / 2], x, AccuracyGoal -> 20, PrecisionGoal -> 18, WorkingPrecision -> 40]EvaluationMonitor (1)
f[x_, y_] := -(x ^ 2 + y ^ 2 - 16) ^ 2;
{sol, pts} = Reap[
NMaxValue[f[x, y], {{x, -5, 5}, {y, -5, 5}}, Method -> "DifferentialEvolution", EvaluationMonitor :> Sow[{x, y}]]];ContourPlot[f[x, y], {x, -5, 5}, {y, -5, 5},
Epilog -> Map[Point, Cases[First[pts], x_ /; Abs[f@@x - sol] ≤ .05]], Contours -> -4Range[0, 10] ^ 2]Method (2)
objective[x_] := Sin[.4 x ^ 2] + .7Cos[.6 x] x; NMaxValue[{objective[x], -11 < x < 11}, {x}, Method -> #]& /@ {"NelderMead", "SimulatedAnnealing"}NMaxValue[{objective[x], -11 < x < 11}, {x}]maxVal = NMaxValue[{objective[x], -11 < x < 11}, {x}, Method -> "Couenne"]Plot[{objective[x], maxVal}, {x, -11, 11}]当速度至关重要时,请使用方法 "NelderMead" 来求解有多个变量的问题:
n = 50;AbsoluteTiming[NMaxValue[Sum[-i * (x[i] - i) ^ 2 + Sin[x[i]], {i, 1, n}], Table[x[i], {i, 1, n}], Method -> "NelderMead"]]StepMonitor (1)
NMaxValue 在求函数最大值的过程中采取的步骤:
pts = Reap[NMaxValue[-(1 - x) ^ 2 - 100(-x ^ 2 - y) ^ 2, {x, y}, Method -> "NelderMead", StepMonitor :> Sow[{x, y}]]][[2, 1]];
pts = Join[{{-1.2, 1}}, pts];ContourPlot[-(1 - x) ^ 2 - 100(-x ^ 2 - y) ^ 2, {x, -1.3, 1.5}, {y, -1.5, 1.4}, Epilog -> {Arrow[pts], Point[pts]}, Contours -> Table[-10 ^ -i, {i, -2, 10}], ColorFunction -> (Hue[0.5 * (Log[10, -#] + 11) / 13]&), ColorFunctionScaling -> False]WorkingPrecision (1)
工作精度设为
时,AccuracyGoal 和 PrecisionGoal 默认值为
:
NMaxValue[Cos[x ^ 2 - 3 y] + Sin[x ^ 2 + y ^ 2], {x, y}, WorkingPrecision -> 20]应用 (4)
几何问题 (2)
Subscript[ℛ, 1] = Triangle[{{0, 0}, {1, 0}, {0, 1}}];
Subscript[ℛ, 2] = Circle[{1, 1}, {2r, r}];Subscript[r, opt] = NMaxValue[{r, {x, y}∈Subscript[ℛ, 1] && {x, y}∈Subscript[ℛ, 2]}, {r, x, y}]Graphics[{Blue, Subscript[ℛ, 1], Subscript[ℛ, 2] /. r -> Subscript[r, opt]}]求圆的最大半径
,使得
个非重叠圆和其中心都包含在一个
正方形内. 边界约束条件可表达为
:
n = 3;
boxConstraint = Table[-1 <= Norm[c[i], Infinity] + r <= 1, {i, n}];nonOverlapConstraint = Table[Norm[c[i] - c[j]] >= 2r,
{i, 1, n}, {j, i + 1, n}];vars = Append[Table[Element[c[i], Vectors[2, Reals]], {i, n}], Element[r, Reals]];NMaxValue[{r, boxConstraint, nonOverlapConstraint, r >= 0}, vars]投资问题 (1)
求如何在两只股票和债券之间分配最多可达 $250,000 的资金,使得投资回报最大化. 令
为投资在两只股票上的金额,
为投资在债券上的金额:
capitalConstraint = Subscript[x, 1] + Subscript[x, 2] + Subscript[x, 3] ≤ 250000;utilityStockConstraint = 0 ≤ Subscript[x, 1] ≤ 40000;bondConstraint = Subscript[x, 3] ≥ 70000;investmentConstraint = Subscript[x, 1] + Subscript[x, 2] ≥ (Subscript[x, 1] + Subscript[x, 2] + Subscript[x, 3]) / 2;股票每年分别支付 9% 和 4% 的股息. 债券的股息为 5%. 总投资回报为:
totalProfit = (0.09Subscript[x, 1] + 0.04Subscript[x, 2] + 0.05Subscript[x, 3]);costConstraint = Sum[Abs[Subscript[x, i]]^0.5, {i, 3}] ≤ 1000;NMaxValue[{totalProfit,
capitalConstraint, utilityStockConstraint, bondConstraint, investmentConstraint, costConstraint}, {Subscript[x, 1], Subscript[x, 2], Subscript[x, 3]}]迭代优化 (1)
pfun[α_ ? NumericQ] := NMaxValue[{(x - 1)(y - 2),
Norm[{x / α, α y}] ≤ 1}, {x, y}]Plot[pfun[α], {α, 0.1, 2}, PlotPoints -> 2, PlotRange -> All]FindMinimum[{pfun[α], 0.1 ≤ α ≤ 1}, {α, .5}, AccuracyGoal -> 3]属性和关系 (7)
NMaximize 给出最大值,并以规则形式给出使结果最大化的变量值:
NMaximize[{y - x.x , Norm[x + y] ≤ 1}, {Element[x, Vectors[2, Reals]], y}]NArgMax 给出使结果最大化的值的列表:
NArgMax[{y - x.x , Norm[x + y] ≤ 1}, {Element[x, Vectors[2, Reals]], y}]NMaxValue 只给出最大值:
NMaxValue[{y - x.x , Norm[x + y] ≤ 1}, {Element[x, Vectors[2, Reals]], y}]NMinValue[{x ^ 2 + y ^ 2, x + 2 y ≥ 3}, {x, y}]-NMaxValue[{-(x ^ 2 + y ^ 2), x + 2 y ≥ 3}, {x, y}]对于凸问题,可用 ConvexOptimization 获取解的其他属性:
NMaxValue[{-(x ^ 2 + y ^ 2), x + 2 y ≥ 3}, {x, y}]ConvexOptimization[x ^ 2 + y ^ 2, x + 2 y ≥ 3, {x, y}, "PrimalMinimumValue"]ConvexOptimization[x ^ 2 + y ^ 2, x + 2 y ≥ 3, {x, y}, "DualMaximizer"]对于含有参数的凸问题,用 ParametricConvexOptimization 给出 ParametricFunction:
pfun = ParametricConvexOptimization[-(x + 2 y), (x - α) ^ 2 + (y - β) ^ 2 ≤ 1, {x, y}, {α, β}, "PrimalMinimumValue"]可通过计算 ParametricFunction 求得参数的值:
{pfun[0., 0.], pfun[.5, 1.], pfun[2., 1.]}用 NMaxValue 定义参数化问题的函数:
fun[α_ ? NumericQ, β_ ? NumericQ] := NMaxValue[{x + 2 y, (x - α) ^ 2 + (y - β) ^ 2 ≤ 1}, {x, y}];
{fun[0., 0.], fun[.5, 1.], fun[2., 1.]}testData = RandomReal[{0, 4}, {1000, 2}];
{First[AbsoluteTiming[pfun @@@testData]], First[AbsoluteTiming[fun @@@ testData]]}也可以计算 ParametricFunction 的导数:
D[pfun[α, β], {{α, β}}] /. {α -> 2., β -> 1.}对于含有参数化约束条件的凸问题,RobustConvexOptimization 将找到适用于所有可能参数值的最优值:
{rMinValue, rOptimizer} = RobustConvexOptimization[-(2x + 3y), x + y ≤ α && x - y ≥ β && -1 ≤ α ≤ 1 && 0 ≤ β ≤ 1, {x, y}, {α, β}, {"PrimalMinimumValue", "PrimalMinimizerRules"}];
rMaxValue = -rMinValue;
{rMaxValue, rOptimizer}对于特定参数值,NMaxValue 可能会找到更大的最大值:
NMaxValue[{2x + 3y, x + y ≤ α && x - y ≥ β && α == 0 && β == 0}, {x, y}]maximizer = Last[NMaximize[{2x + 3y, x + y ≤ α && x - y ≥ β && α == 0 && β == 0}, {x, y}]](x + y ≤ α && x - y ≥ β /. maximizer) /. {α -> 1, β -> 1}fun[α_, β_] /; (-1 ≤ α ≤ 1 && 0 ≤ β ≤ 1) :=
NMaxValue[{2x + 3y, x + y ≤ α && x - y ≥ β}, {x, y}];testValues = RandomVariate[UniformDistribution[{{-1, 1}, {0, 1}}], 100];
AllTrue[testValues, ((fun@@#) ≥ rMaxValue)&]NMaxValue 可以求解线性规划问题:
NMaxValue[{2x + 3y - z, 1 ≤ x + y + z ≤ 2 && 1 ≤ x - y + z ≤ 2 && x - y - z == 3}, {x, y, z}]LinearProgramming 可以求解用矩阵表示的相同问题:
c = {2., 3., -1.};
m = {{1, 1, 1}, {1, 1, 1}, {1, -1, 1}, {1, -1, 1}, {1, -1, -1}};
b = {{1, 1}, {2, -1}, {1, 1}, {2, -1}, {3, 0}};c.LinearProgramming[-c, m, b, -Infinity]用 RegionBounds 计算边界框:
f = x^4 + 3. x^2 y + 2. x^2 y^2 - y^3 + y^4 ≤ 0;
ℛ = ImplicitRegion@@{f, {x, y}}RegionBounds[ℛ]用 NMaxValue 和 NMinValue 计算相同的边界:
{{x1, x2}, {y1, y2}} = {NMinValue[#, {x, y}∈ℛ], NMaxValue[#, {x, y}∈ℛ]}& /@ {x, y}Show[{Graphics[{LightBlue, Rectangle[{x1, y1}, {x2, y2}]}], RegionPlot[f, {x, x1 - 1, x2 + 1}, {y, y1 - 1, y2 + 1}]}]技术笔记
-
▪
- 数值运算 ▪
- 数值最优化 ▪
- 数值非线性全局最优化示例 ▪
- 约束条件下的优化 ▪
- 无 约束条件下的优化 ▪
- 关于内部实现的一些注释:数字和相关函数
相关指南
-
▪
- 最优化 ▪
- 符号向量、矩阵和数组 ▪
- 凸优化
文本
Wolfram Research (2008),NMaxValue,Wolfram 语言函数,https://reference.wolfram.com/language/ref/NMaxValue.html (更新于 2024 年).
CMS
Wolfram 语言. 2008. "NMaxValue." Wolfram 语言与系统参考资料中心. Wolfram Research. 最新版本 2024. https://reference.wolfram.com/language/ref/NMaxValue.html.
APA
Wolfram 语言. (2008). NMaxValue. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/NMaxValue.html 年
BibTeX
@misc{reference.wolfram_2026_nmaxvalue, author="Wolfram Research", title="{NMaxValue}", year="2024", howpublished="\url{https://reference.wolfram.com/language/ref/NMaxValue.html}", note=[Accessed: 03-November-2026]}
BibLaTeX
@online{reference.wolfram_2026_nmaxvalue, organization={Wolfram Research}, title={NMaxValue}, year={2024}, url={https://reference.wolfram.com/language/ref/NMaxValue.html}, note=[Accessed: 03-November-2026]}