Numerical Optimization Ch1. Introduction

第一章: 介绍


优化的主要流程:

  1. 确定优化目标 (可以是利润、时间、能量或任何可用数表示的量)
  2. 确定约束条件 (可以是无约束, 可以是有约束)
  3. 根据模型选取或构建算法
  4. 实施算法并检验是否满足最优性条件
  5. 改进模型并重复前述直至满意 (灵敏度分析、对之前解的解释说明)

1. 符号规定

  • x x x变量构成的向量, 也称为未知量或参数;
  • f f f目标函数, 为 x x x的(标量)函数, 我们的目的在于最大或最小化 f f f;
  • c i c_i ci约束函数, 为 x x x的标量函数, 定义 x x x必须满足的等式或不等式

从而一个优化问题可以写成
min ⁡ x ∈ R n f ( x ) s u b j e c t    t o c i ( x ) = 0 , i ∈ E , c i ( x ) ≥ 0 , i ∈ I . \min_{x\in\mathbb{R}^n}f(x)\quad\mathrm{subject\,\,to}\begin{array}{ll} c_i(x)=0, & i\in\Epsilon,\\ c_i(x)\ge0, & i\in I. \end{array} xRnminf(x)subjecttoci(x)=0,ci(x)0,iE,iI.
其中 I I I E \Epsilon E分别代表等式约束和不等式约束的指标集.

例. 运输问题. 化学用品公司有两所工厂 F 1 , F 2 F_1,F_2 F1,F2和十二个零售商 R 1 , R 2 , … , R 12 R_1,R_2,\ldots,R_{12} R1,R2,,R12. 工厂 F i F_i Fi每周可以生产化学用品 a i a_i ai吨, 而零售商 R j R_j Rj每周需要 b j b_j bj吨化学用品. 从 F i F_i Fi运一吨化学用品到 R j R_j Rj的花费为 c i j c_{ij} cij. 我们的目标是在满足所有零售商的需求后, 最小化运输成本. 引入变量 x i j , i = 1 , 2 , j = 1 , … , 12 x_{ij},i=1,2,j=1,\ldots,12 xij,i=1,2,j=1,,12, 其中 x i j x_{ij} xij为从 F i F_i Fi运至 R j R_j Rj的运输量(吨). 于是问题可写作
min ⁡ ∑ i j c i j x i j s u b j e c t    t o ∑ j = 1 12 x i j ≤ a i , i = 1 , 2 , ∑ i = 1 2 x i j ≥ b j , j = 1 , … , 12 , x i j ≥ 0 , i = 1 , 2 , j = 1 , … , 12. \begin{array}{rll} \min & \sum\limits_{ij}c_{ij}x_{ij} & \\ \mathrm{subject\,\,to} & \sum\limits_{j=1}^{12}x_{ij}\le a_i, & i=1,2,\\ & \sum\limits_{i=1}^2x_{ij}\ge b_j, & j=1,\ldots,12,\\ & x_{ij}\ge0, & i=1,2,\quad j=1,\ldots,12. \end{array} minsubjecttoijcijxijj=112xijai,i=12xijbj,xij0,i=1,2,j=1,,12,i=1,2,j=1,,12.
上面的问题为典型的线性规划问题 (目标函数和约束都是线性的). 当然对于实际情景下, 还可能涉及到生产和仓储的费用, 以及运输可能存在打折. 此时将可能得到非线性规划问题.

2. 问题分类

  • 连续优化 & 离散优化: 后者决定性的特征就是未知量 x x x可取自有限集. 例如整数型变量、二值变量, 甚至可能是集合的排序作为未知量 (比如会议安排问题).
  • 约束优化 & 无约束优化.
  • 全局优化 & 局部优化: 前者对于一般的问题难以做到, 全局最优点也难以识别.
  • 随机优化 & 确定性优化.
  • 凸优化 & 非凸优化: 前者指的是, 目标函数 f f f为凸函数, 且可行域为凸集的情形, 此时任一局部最优解都是全局最优解. 具体说来需要
    1. 等式约束函数 c i ( ⋅ ) , i ∈ E c_i(\cdot), i\in\Epsilon ci(),iE线性, 以及
    2. 不等式约束函数 c i ( ⋅ ) , i ∈ I c_i(\cdot),i\in I ci(),iI凹函数.

3. 优化算法

优化算法是迭代进行的.

Created with Raphaël 2.2.0 初始点x_0, k=0 采用一定策略产生新的迭代点x_{k+1}, k=k+1 判定当前迭代点是否符合终止条件 算法结束, 输出最新的迭代点 yes no

算法的差别在于产生新的迭代点的策略. 大多数策略会使用目标函数 f f f的值, 约束函数 c i c_i ci的值, 以及可能会用到这些函数的一阶导和二阶导. 有些算法会积攒之前迭代所获得的信息, 其他的算法可能就只使用当前迭代点上得到的信息. 当然对于算法好坏与否, 我们有如下判定准则:

  • 鲁棒性 (Robustness). 这点可使得算法得以广泛使用.
  • 高效性 (Efficiency). 这里考虑时间复杂度和空间复杂度.
  • 准确性 (Accuracy). 对各类误差 (如舍入误差、测量误差)不会过于敏感.

这些目标看上去可能会互相矛盾. 比如说, 收敛速度很快的算法可能需要较大的内存支撑 (比如Newton法). 再比如, 最强健的算法可能是收敛最慢的. 我们可根据问题来选择算法, 找出自己的侧重点. 算法没有绝对的好与坏.

  • 9
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: numerical optimization数值优化)是一门涉及通过计算来寻找某个函数的最优解的学科。它在不同领域中都有广泛的应用,如经济学、工程学、计算机科学等。以下是对numerical optimization课后答案的回答。 在numerical optimization的课后答案中,我们通常会遇到以下几个方面: 1. 算法和方法:课后答案会包含关于不同的数值优化算法和方法的详细解释。例如,梯度下降法、牛顿法、共轭梯度法等。课后答案会解释这些方法的原理、步骤和优缺点。 2. 收敛性和收敛速度:课后答案会对不同方法的收敛性进行分析和讨论。收敛性指的是优化算法能否找到最优解。收敛速度则是指算法收敛到最优解的速度。课后答案会解释为什么某些算法具有更好的收敛性和收敛速度。 3. 全局最优和局部最优:课后答案会解释全局最优和局部最优之间的区别。全局最优指的是找到整个搜索空间中的最优解,而局部最优指的是找到某个搜索空间中的最优解。课后答案会讨论如何判断一个解是否为全局最优或局部最优。 4. 问题规模和复杂性:课后答案可能涉及到优化问题的规模和复杂性。优化问题的规模指的是问题中涉及的变量和约束的数量。复杂性指的是解决问题所需的计算资源和时间。课后答案会讨论如何在不同的问题规模和复杂性下选择合适的优化方法。 总而言之,numerical optimization课后答案会涵盖算法和方法、收敛性和收敛速度、全局最优和局部最优以及问题规模和复杂性等方面的内容,帮助学生更好地理解和应用数值优化的知识。 ### 回答2: numerical optimization是一门研究优化问题数值解法的课程。在这门课中,我们学习了许多不同的优化算法,以寻找函数的最优解。 首先我们学习了最简单的算法——暴力搜索法。该方法通过穷举搜索整个搜索空间,找到最优解。然而,由于搜索空间可能非常庞大,这种方法通常并不适用于高维问题。 为了解决高维问题,我们学习了梯度下降法。该方法通过迭代计算函数的梯度,并沿着梯度的反方向更新参数,直到收敛到最优解。梯度下降法可以应用于不同类型的优化问题,并且由于其简单有效的原理而被广泛应用。 此外,我们还学习了共轭梯度法和牛顿法等优化算法。共轭梯度法结合了梯度和步长信息,在优化过程中具有更快的收敛速度。牛顿法利用函数的二阶导数信息,在每次迭代中更新参数,可以更快地找到最优解。 在课后练习中,我们通过编写代码来实现这些优化算法,并将其应用于一些具体的问题。这些问题可能是线性的,也可能是非线性的,但通过优化算法的应用,我们可以找到它们的最优解。 通过学习和实践,我们能够更好地理解数值优化的原理和方法,能够运用这些方法解决实际问题。无论是在工程、科学还是经济领域,数值优化在解决最优化问题上发挥着重要作用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值