【LP】00 Pre-Introduction and 01 Introduction

從本博文開始,將持續更新方述誠教授在南卡羅來納大學教授的研究生課程《Linear Programming》中的內容,視頻由於一些原因無法上傳,這裏有一個可以提供參考的一個pdf文件,下面給出網址:
方述誠-線性規劃講解資料

00 Pre-introduction

Outline

  • course objective

  • pre-requisites(預備知識)

  • course content(課程內容)

  • textbook and references

00-1 Course objective

  1. provides the fundamental understanding to the theory and algorithms of linear optimization(爲什麼這麼做,要怎麼做)
  2. involves mathematical analysis, theorem proving, algorithm design and numerical method
  3. not tell you how to build linear programming models:重點在於理論,重點在於線性優化裏的理論與算法,而不是如何建立模型
  4. not tell you how to use software: MATLAB or LINGO or any solver

00-2 Pre-requisites

matrix theory\linear algebra\introduction to OR

00-3 Course content

  • introduction to LP
  • geometric interpretation of LP(線性規劃的幾何解釋)
  • simplex method (單純形法)
  • duality and sensitivity analysis(對偶和靈敏性分析)
  • interior point method(內點法)
  • related topics(相關話題)

00-4 Textbook and references:

《linear optimization and extensions》SHU-CHENG FANG and Sarat Puthenpura


01 Introduction

Outline:

  • what’s linear programming?
  • Why to study it?
  • How to study?
  • History of linear programming
  • How to solve an LP problem
  • Where to go?

01-1 What’s linear programming?

Optimize a linear objective function of decision variables subject to a set of linear constrains. (事實上,這裏的programming就是optimization)

優化一個滿足某一組線性約束的決策變量構成的線性目標函數,我們的目標就是使得所有的決策變量都滿足線性約束的時候,使得目標函數的值最小。

Example:
Minimize x12x2subject to: x1+x2402x1+x260  x1,x20Minimize \ x_{1}-2x_{2} \\ subject \ to: \ x_{1}+x_{2} \leq 40 \\ \qquad 2x_{1}+x_{2} \leq 60 \\ \ \\ \ x_{1},x_{2} \geq 0

圖像如下:
在這裏插入圖片描述

01-2 Why study?

  • Wide applications:
    One of the most widely applied methodologies
  • Passage to advanced subjects:
    -nonlinear programming
    -network flows
    -integer programming
    -conic programming(錐優化)
    -semidefinite programming
    -robust optimization

01-3 How to study it?

Geometric intuition(幾何直覺)-guidance
Algebraic manipulation(代數操作)-exact skill
Computer programming(電腦編程)- rapid calculation

這裏想要解釋一下,根據方老師在課程中所述,加入本人的理解:對於一個問題來說,首先我們可以根據我們的直覺去給定一個方向,例如我們開車,我們要去機場,就會根據以往的經驗判斷選擇哪條路會更加近。然後可以用代數的方法去證明這個判斷是正確與否,最後,可以用電腦程序去幫助我們計算。

01-4 History of linear programming

  • conceived by G.B Dantzig
  • Named by T.C.Koopmans & G.B Dantzig
  • Simplex Method proposed by G.B Dantzig

01-5 How to solve an LP problem?

1.what’s special of LP?
  • linear constrains shape the feasible domain as a convex polyhedral set(凸多邊形) with a finite number of vertices.(這個多邊形有有限個頂點)
  • linear objective function provides a linear contour(等高線) of each fixed value(這句話的意思是:目標函數所表示表示出來的那根線,給定了某個確定的值,就會確定一根直線,然後不同的值構成了一束等高線的樣子)
  • 上述兩條語句說明了一個LP問題的特點
2. Fundamental theorem of LP

For a LP program: if the feasible domain is not empty, then its optimum is either unbounded or is attained at least at one vertex of the feasible domain
如果可行域不是空的,那麼它的最優要麼是無界的,要麼至少在可行域的一個頂點上得到.

這句話解釋了線性規劃的核心,也是最基礎的。如果是有界的,那麼一定會在可行域的某一個頂點上得到最優。

3.How to find an optimal solution

在這裏插入圖片描述
How to find X*?

(1) One by one (Enumeration method)
這種方法就是一個一個頂點找過去,但是有個非常明顯的缺點就是計算量的問題。所以幾乎沒有人用。

(2) Simplex Method
step1:start at a vertex
step2:if current vertex is optima stop otherwise
step3: move to a better neighboring vertex, go to step 2

(3) interior point method

由於後續的博文裏會對單純形法和內點法進行詳細的解釋和整理。因此在這裏不再贅述。


01-6 Where to go?

  • Integration of interior-point method to develop hybrid algorithms for solving very large size LP for real-word applications by exploring(內點法適合大規模的現實問題)
    -special structure
    -sparsity(稀疏)
    -decomposition(分解)
    -parallel computation(並行計算)
  • Nonlinear optimization with linear constrains
  • conic programming
  • etc.

第一部分的內容大體上就到這裏,因爲只是一個導引和介紹的部分,所以乾貨不多,但是也有非常有必要的,對課程有一個大體的認識和解釋,是非常關鍵的一點

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章