حساب کاربری
​
زمان تقریبی مطالعه: 3 دقیقه
لینک کوتاه

بهینه‌سازی نیمه‌معین

بهینه‌سازی نیمه معین یا SDP یک مسئله بهینه‌سازی برای تابع هدف خطی است.

بهینه‌سازی نیمه معین تقریباً زمینه‌ای جدید است و در حال رشد است. بسیاری از مسائل در زمینه‌های تحقیق در عملیات و بهینه‌سازی ترکیبیاتی را می‌توان به صورت تقریبی به صورت بهینه‌سازی نیمه معین در آورد. تقریباً همهٔ مسائل برنامه‌ریزی خطی را می‌توان به صورت بهینه‌سازی نیمه معین تعریف کرد.

فهرست

  • ۱ مقدمات
  • ۲ روابط معادل
  • ۳ فرم دیگر (dual)
  • ۴ مثال‌ها
  • ۵ کاربردها
  • ۶ منابع
  • ۷ پیوند به بیرون

مقدمات

در مسئلهٔ برنامه‌ریزی خطی قصد بهینه‌سازی تابعی خطی روی یک چندوجهی را داریم، اما تابع و شروط بهینه‌سازی باید توابعی خطی از متغیرها باشند. در یک مسئلهٔ بهینه‌سازی نیمه معین می‌توان از ضرب داخلی متغیرها نیز استفاده کرد. به عبارت دیگر:

min x 1 , … , x n ∈ R n ∑ i , j ∈ [ n ] c i , j ( x i ⋅ x j ) subject to ∑ i , j ∈ [ n ] a i , j , k ( x i ⋅ x j ) ≤ b k ∀ k .

روابط معادل

ماتریس M

با سایز n × n
را مثبت نیمه معین می‌نامیم در صورتی که ماترس گرادیان مجموعه‌ای از بردارها باشد (یعنی بردارهای x 1 , … , x n
وجود داشته باشند که که m i , j = x i ⋅ x j
به ازای همهٔ مقادیر i , j
). در این صورت داریم M ⪰ 0
. (توجه کنید که مثبت نیمه معین بودن تعاریف مختلف دارد.)

فرض کنید S n

فضای تمام ماتریس‌های حقیقی متقارن n × n
باشد. در اینصورت تعریف می‌کنیم

⟨ A , B ⟩ S n = t r ( A T B ) = ∑ i = 1 , j = 1 n A i j B i j .

با این تعریف می‌توان مسئله بهینه‌سازی معرفی شده در قسمت قبل را اینبار به اینصورت بازنویسی کرد:

min X ∈ S n ⟨ C , X ⟩ S n subject to ⟨ A k , X ⟩ S n ≤ b k , k = 1 , … , m X ⪰ 0

با اضافه کردن متغیرهای اضافی می‌توان مسئله را به اینصورت عوض کرد:

min X ∈ S n ⟨ C , X ⟩ S n subject to ⟨ A i , X ⟩ S n = b i , i = 1 , … , m X ⪰ 0.

با داشتن تعریف استاندارد SDP می‌توان پاسخ آن را در O ( n 3 )

بدست آورد (با تجزیه چولسکی ماتریس X).

فرم دیگر (dual)

با داشتن فرم اولیه

min X ∈ S n ⟨ C , X ⟩ S n subject to ⟨ A i , X ⟩ S n = b i , i = 1 , … , m X ⪰ 0

می‌توان فرم دیگر مسئلهٔ فوق (P-SDP) را می‌توان به صورت زیر نوشت:

max y ∈ R m ⟨ b , y ⟩ R m subject to ∑ i = 1 m y i A i ⪯ C

که در آن P ⪰ Q

یا P − Q ⪰ 0
.

مثال‌ها

کاربردها

روشهای بهینه‌سازی نیمه معین کاربردهای بسیاری در مسائل بهینه‌سازی ترکیبیاتی مثلاً مسئلهٔ برش بیشینه دارند. همچنین کاربردهای بسیار در کنترل دارند.

منابع

  • Lieven Vandenberghe, Stephen Boyd, "Semidefinite Programming", SIAM Review 38, March 1996, pp.  49–95. pdf
  • Monique Laurent, Franz Rendl, "Semidefinite Programming and Integer Programming", Report PNA-R0210, CWI, Amsterdam, April 2002. optimization-online
  • E. de Klerk, "Aspects of Semidefinite Programming: Interior Point Algorithms and Selected Applications", Kluwer Academic Publishers, March 2002, ISBN 1-4020-0547-4.
  • Robert M. Freund, "Introduction to Semidefinite Programming (SDP), SDP-Introduction

پیوند به بیرون

  • Links to introductions and events in the field
  • Lecture notes from Laszlo Lovasz on Semidefinite Programming
نرم‌افزارها
  • JOptimizer: open source java library for convex optimization
  • Overview of existing software
  • NEOS Solvers: A server that runs multiple algorithms for solving SDPs and other optimization problems
  • SeDuMi: (Self-Dual-Minimization) solves optimization problems over symmetric cones (this includes semidefinite optimization).
  • YALMIP: MATLAB optimization toolbox and frontend for many sdp solver
  • PICOS: a simple python interface for sdp solvers
  • cvx: a MATLAB frontend that uses either SeDuMi or SDPT3
  • cvxopt: a python solver
آخرین نظرات
کلیه حقوق این تارنما متعلق به فرا دانشنامه ویکی بین است.