zoukankan      html  css  js  c++  java
  • 专题一、线性优化

    优化问题实际上高中的时候学过了很多求最大最小值或者不等式,线性规划等。当时学的大多是二次或者最多是三元。现在要把它推广到更高维。本专题主要是学习和巩固一些经典的优化问题。比如,目标函数是线性,约束是线性的怎么优化呢?本文从最简单的问题入手。

    一、线性规划的标准形式。

    任何的线性规划可以表示为一下形式:

    请不要怀疑这个结论。对于式2中约束条件的等号,不等式的约束只要加入松弛变量就能解决,对于式3中单独变量的非负约束,只要换元(比如x1≥1)或者拆成两个正数之差(比如x2无约束)。

    二、线性规划的可行解(解的个体)、可行域(解的集合)。(这只是针对式2,式子3而言的。不用管式1)

    如果连约束都不满足,还谈论目标函数做么子呢?对于这步,我们关键是讨论有无数解的情况。因为对于优化问题,唯一解就是最优解,无解还优化什么呢?

    (i)对于式3,没啥好说的。

    (ii)对于式2,就是线性代数中经典的求解问题。简单回顾一下齐次线性方程组求解和非齐次线性方程组解的结构。

    a.齐次线性方程组的解。(满秩情况解为0,想象两条经原点的不重叠直线;不是满秩情况,通常用消元法找到线性无关组,然后确定基础解系)

       定理:设齐次线性方程组Ax=0...(1),若R(A)=r<n,则基础解系恰含n-r个解系列,并且任意n-r个线性无关组的解向量均可构成一个基础解系。

               可以想象化简出来有单位非零梯度的矩阵。剩下的n-r个向量多出来。写成解形式时:(红色是线性无关组,黑色是消掉的,只不过我添加上去)

               x1=a1.x3+a2.x4+a3.x5

               x2=b1.x3+b2.x4+b3.x5

               x3=    x3

               x4=             x4

               x5=                      x5  

              令x3=k1,x4=k2,x5=k3,有

              x=k1.(a1,b1,1,0,0)T+k2.(a2,b2,0,1,0)T+k3.(a3,b3,0,0,1)T

       至于怎么得到化简形式,编程时无非是按顺序计算,再加上一些数值上的判断选择吧。

    b.非齐次方程组的解。Ax=b...(2)。可分解为,Ax=0的基础解加上一个特解。证明:

       设x=η是式(2)的解,x=ξ是式(1)的解。则有:

       A(ξ+η)=Aξ+Aη=0+b=b,

       证毕。

       至于如何找特解,特殊值法即可。即令x3=x4=x5=0,可获得一个特解。

    三、求最优解。

    (i)图解法。高中的线性规划。这里不再讨论。

    (ii)单纯形法。

    单纯形法,实际上是证明可行域是凸集之后,求出顶点。然后对顶点进行验证,判断是否是最优解。如果不是则转向相邻的顶点。详细请点击这里

  • 相关阅读:
    从零开始入门 K8s | 应用编排与管理
    209. Minimum Size Subarray Sum
    208. Implement Trie (Prefix Tree)
    207. Course Schedule
    203. Remove Linked List Elements
    183. Customers Who Never Order
    182. Duplicate Emails
    181. Employees Earning More Than Their Managers
    1261. Find Elements in a Contaminated Binary Tree
    1260. Shift 2D Grid
  • 原文地址:https://www.cnblogs.com/Wanggcong/p/6322481.html
Copyright © 2011-2022 走看看