هو الحق دانشکده ي مهندسی کامپیوتر کدگذاري شبکه Coding) (Network شنبه 2 اسفند 1393 جلسه هفتم استاد: مهدي جعفري نگارنده: سید محمدرضا تاجزاد تعریف 1 بهینه سازي محدب : هدف پیدا کردن مقدار بهینه یک تابع ) min یا ( max بر روي دامنه اي خاص است.در بهینه سازي محدب هم شرطی بر روي تابع قرار داده می شود و هم این تابع رفتار خوبی نشان می دهد(براي مثل این تابع یک تابع درجه 2 بود که یک مقدار min یا max دارد).روش هاي زیادي براي حل کردن این مساي ل وجود دارد و حالت خاص این مساله برنامه ریزي خطی است که در آن تابع مورد نظر براي min یا max شدن یک تابع خطی می باشد. تعریف 2 مجموعه محدب( convex )(نمایش به صورت ( : مجموعه اي است که نقاط موجود روي خط واصل بین هر دو نقطه در این مجموعه درون مجموعه قرار دارند. x, y C θx + (1 θ)y C 0 θ 1 (1) مثال 1 مجموعه هاي زیر محدب هستند. اما این مجموعه ها محدب نیستند. تعریف 3 ترکیب محدب چند نقطه Combination) :(Convex x 1,..., x k R n θ 1 x 1 + θ 2 x 2 +... + θ k x k R n θi = 1 (2) θ 1 0 1-1
مثال 2 این مثال نشان دهنده مجموعه محدبی است که از ترکیب این چند نقطه ایجاد شده است.(دور نقطه ها) این کار مانند انداختن یک کش به دور این نقاط است. از فرمول داده شده در تعریف نیز می توان با تغییر دادن θ ها این نقاط را به دست آورد. تعریف 4 پوش محدب ) Hull ( Convex یک مجموعه محدب C (ممکن است این مجموعه محدب نباشد و مجموعه اي دلخواه از نقاط C R n باشد) ConvC = {θ 1 x 1 +... + θ k x k x i C, θ i 0, θ i = 1} (3) این مجموعه کوچکترین مجموعه محدبی است که C را پوشش می دهد. مثال 3 اگر مجموعه C به صورت شکل زیر مشخص شده باشد Convex Hull این مجموعه به صورت زیر خواهد بود. نکته 1 اشتراك دو مجموعه محدب مجموعه اي محدب است. تعریف 5 تابع محدب ) R ( f : R n : 1- در تابع محدب دامنه تعریف شده براي تابع محدب باشد.یعنی مجموعه اي که تابع روي آن تعریف شده خود محدب باشد. -2 x, y Domain(f), 0 θ 1 این دو نکته ذکر شده در بالا تعریف این توابع را تشکیل می دهند در بعضی کتب از شکل در کنار تابع محدب نیز استفاده می شود. مثال 4 مثالی از یک تابع محدب f(θx + (1 θ)y) θf(x) + (1 θ)f(y) تعریف 6 تابع مقعر : تابع مقعر f تابعی است که f محدب باشد 1-2
نکته 2 شرایط محدب بودن تابع f (شرط لازم و کافی ( : 1- دامنه تابع محدب باشد. 2 -اگر نقطه اي از تابع را با خطی تقریب بزنیم تابع بالاي این خط قرار بگیرد. x, y Domain(f) f(y) f(x) + f T (x) y 1... x 1... (4) y n x n شرط درجه 2 نیز وجود دارد که فعلا بحث نمی شود. تعریف 7 مساله بهینه سازي : پیدا کردن مقدار min یا max در یک تابع بر اساس تعدادي قید داده شده مساله بهینه سازي نامید می شود.(پیدا کردن min یا max قرار دادي بود و ما در اینجا به پیدا کردن min می پردازیم) در این مساي ل به تابع مورد نظر تابع هدف یا Objective Function گفته می شود. Minf 0 (x) S.T : f i (x) 0 i [1 : m] h i (x) = 0 i [1 : p] (5) i=0 این گونه مساي ل می توانند بسیار پیچیده باشند نکته 3 دامنه مساله بهینه سازي : m p D = domain(f i ) domain(h i ) (6) تعریف 8 نقطه شدنی ) Feasible ( :نقطه اي از دامنه مساله است که در قیود مساله صدق کند. اگر مساله اي نقطه شدنی داشته باشد به آن مساله مساله شدنی یا Feasible گویند. تعریف 9 مساله بهینه سازي محدب: min f 0 (x) S.T. f i (x) 0 i [1 : m] a T i x = b i i [1 : p] (7) -1 m f 0..f توابع محدب اند -2 i a T محدب اند از 1 و 2 Set Feasible ها نیز محدب اند D = m domf i {x f i (x) 0} {x a T i x = b i} i=0 i [i : m] i [i : p] مثال 5 مثالی از یک مجموعه محدب قضیه 1 براي یک مساله بهینه سازي محدب نقطه بهینه محلی بهینه سراسري نیز هست. تعریف 10 برنامه ریزي خطی ) Programming ( Linear : در این حالت تابع f 0 و نیز قید ها همگی خطی هستند. min C T x S.T g i x h i i [i : m] a T i x = b i i [1 : p] (8) 1-3
می خواهیم داخل polytope یک خط را کمینه کنیم. اگر این خطوط رسم شده روي یک خط polytope قرار بگیرند کل آن خط کمینه است اما ما به دنبال نقاط راسی کمینه هستیم. در اینجا تمام نقاط درون بیضی قرمز رنگ کمینه هستند اما ما به دنبال نقاط راسی هستیم.البته این مساله به خاطر ساده شدن الگوریتم ها می باشد. مثال 6 مساله بهینه سازي زیر را حل کنید. max x 1 + x 2 S.T x 1 + 2x 2 2 x 1, x 2 0 این مساله به شکل استاندارد تعریف شده ما نیست و به همین دلیل آن را به شکل استاندارد در میآوریم. min (x 1 + x 2 ) S.T x 1 + 2x 2 2 x 1 0 x 2 0 تعریف 11 دوگانگی ) Duality ( دوگان به مساله اي گفته می شود که از روي یک مساله بهینه سازي کلی به منظور پیدا کردن جواب مساله یا کرانی براي مساله کلی ایجاد می شود. مساله بهینه سازي کلی : p = min f 0 (x) S.T هدف آوردن قید ها در (x) f 0 و ایجاد کردن یک تابع جدید با نام لاگرانژین: f i (x) 0 i [i : m] h i (x) = 0 i [1 : p] 1-4
m L(x, λ, ν) = f 0 (x) + λ i f i (x) + p ν i h i (x) (9) x D, R n λ R m ν R p حال هدف کلی پیدا کردن دوگان براي یک مساله بهینه سازي است. تعریف 12 تابع دوگان: به ازاي هر ضریب λ و ν میزان کمینه (ν L(x,,λ را به دست می آوریم. g(λ, ν) = inf L(x, λ, ν) where x D (10) تابع دوگان یک تابع مقعر از اشتراك هاي توابعی مانند شکل زیر است. فرض میکنیم xˆ یک نقطه شدنی مساله ابتدایی Primal Problem باشد.حال براي xˆ توابع L را مینویسیم.همچنین فرض میکنیم که λ i 0 L(x, λ, ν) = f 0 (ˆx) + m λ i f i (ˆx) + p ν i h i (ˆx) پس ν) g(λ, یک کران پاي ین براي مساله هدف است. p g(λ, ν) L(ˆx, λ, ν) f(ˆx) g(λ, ν) نتیجه میگیریم که مساله بهینه سازي دوگان به این صورت تعریف می شود. d = max g(λ, ν) S.T λ 0 نکته 4 چون (ν g(λ, یک تابع مقعر است و پیدا کردن بیشینه آن همانند پیدا کردن کمینه در یک تابع محدب است پس مساله دوگان یک مساله بهینه سازي محدب است. d p 1-5