مسئله ی بهینه سازی با چند تابع هدف

Download Report

Transcript مسئله ی بهینه سازی با چند تابع هدف

‫‪4/8/2015‬‬
‫‪FUNDAMENTAL OF GENETIC ALGORITHMS‬‬
‫‪PART 11‬‬
‫مسئله ی بهینه سازی با چند تابع هدف‬
‫‪1‬‬
‫مدرس‪ :‬سید مهدی وحیدی پور‬
‫با تشکر از‪ :‬مجتبی انعامی و حسین شیرازی‬
‫‪4/8/2015‬‬
‫مسئله ی بهینه سازی با چند تابع هدف‬
‫‪ ‬معرفی‬
‫‪ ‬کلیات‬
‫‪ ‬روش های تکاملی‬
‫‪ ‬بررسي روش ‪SPEA‬‬
‫‪ ‬بررسی روش ‪NSGA‬‬
‫‪2‬‬
‫معرفی‬
‫‪3‬‬
‫‪4/8/2015‬‬
‫‪4/8/2015‬‬
‫معرفی‬
‫‪ ‬بهینه سازی توابع مختلف و گاه متضاد به طور همزمان‬
‫‪ ‬ترکیب مقادیر توابع هدف مختلف و به دست آوردن یک مقدار برازندگی‬
‫)‪(Fitness‬‬
‫•‬
‫مسئله به یک تابع تک هدفی تبدیل می شود‪.‬‬
‫‪ ‬بدست آوردن جواب هایی که حداکثر تعداد توابع هدف را بهینه کند‬
‫•‬
‫‪4‬‬
‫مجموعه جواب بهینه ی پارتو )‪.(Pareto Optimal Set‬‬
‫‪4/8/2015‬‬
‫معرفی‬
‫‪ ‬مجموعه جواب بهینه ی پارتو )‪(Pareto Optimal Set‬‬
‫‪ ‬مجموعه جواب های مسلط نشدنی در تمام فضای جستجو‪.‬‬
‫‪ ‬نمی توان در این دو مجموعه بین دو جواب مختلف یکی را به دیگری برتری‬
‫داد‪.‬‬
‫‪ ‬الگوریتم سعی در رسیدن به جواب مختلف بهینه ی پارتو دارد‪.‬‬
‫‪5‬‬
‫‪4/8/2015‬‬
‫معرفی‬
‫‪ ‬دو اصل مهم برای بهینه سازی با چند تابع هدف‪:‬‬
‫‪ ‬هدایت مسیر جستجو در جهت رسیدن به منحنی جواب های بهینه پارتو‬
‫‪ ‬حفظ و تولید جواب های بهینه در طول جمعیت جواب ها‬
‫‪6‬‬
‫‪4/8/2015‬‬
‫معرفی‬
‫‪ ‬روش های قدیمی دارای اشکاالت زیر هستند‪:‬‬
‫‪ ‬عدم پیدا کردن چندین جواب بهینه در طی یک بار اجرای الگوریتم‬
‫‪ ‬عدم تضمین برای یافتن جواب های بهینه مختلف و متفاوت‬
‫‪ ‬نمی توان برای مسائلی با متغیرهای گسسته و دارای چندین جواب بهینه به‬
‫کار برد‬
‫‪7‬‬
‫‪4/8/2015‬‬
‫بهینه سازی با چند تابع هدف‬
‫‪8‬‬
‫بهینه سازی با چند تابع هدف‬
4/8/2015
Maximaze y = f(x) = (f1(x), f2(x),…, fk(x))
 Subject to
e(x) = (e1(x), e2(x),…, em(x))
 Where
x = (x1, x2,…,xn) X 

y = (y1, y2,…,yk) Y
‫ بردار تصمیم گیری با پارامترهای مورد جستجو در مســـئله‬:X 
(Dicision Vector)
(Dicision Space) ‫ فضای تصمیم گیری‬:X 
(Objective Space) ‫ فضای هدف‬:Y 

9
‫‪4/8/2015‬‬
‫بهینه سازی با چند تابع هدف‬
‫‪10‬‬
‫‪ ‬مجموعه ممکن )‪ :(Feasible Set‬مجموعه متغیرهای قابل قبول برای‬
‫مسئله‬
‫‪ Xf = {x ‬‬
‫}‪X | e(x) ≤ 0‬‬
‫‪ ‬محدوده ممکن )‪:(Feasible Region‬‬
‫})‪ Yf = f(Xf) = Ux Xf {f(x‬‬
‫‪‬‬
‫‪4/8/2015‬‬
‫بهینه سازی با چند تابع هدف‬
‫‪ u ‬و ‪ v‬دو بردار هدف مربوط به دو بردار تصمیم گیری‪:‬‬
‫‪i {1,2,…, k} ui = v‬‬
‫‪I {1,2,…, k} ui ≥ vi‬‬
‫‪u≥v ^ u≠v‬‬
‫‪11‬‬
‫‪iff‬‬
‫‪iff‬‬
‫‪iff‬‬
‫‪u=v‬‬
‫‪u≥v‬‬
‫‪u>v‬‬
‫‪‬‬
‫بهینه سازی با چند تابع هدف‬
:‫ سه حالت وجود دارد‬
4/8/2015
:‫ غلبه پارتو‬
f(a) ≥ f(b)
 f(b) ≥ f(a)
 f(a) ≥ f(b) ^ f(b) ≥ f(a)

a > b a dominates b iff f(a) > f(b)
 a ≥ b a weakly dominates b iff f(a) ≥ f(b)
 a ~ b a is indifferent b iff f(a) ≥ f(b) ^ f(b) ≥ f(a)

12
‫مجموعه و منحنی جوابهای مسلط نشدنی‬
is Non-Dominated iff S  Xf|  x S :x>a
4/8/2015
 a  Xf
13

a is Pareto Optimal iff x is Non-Dominated regarding S = Xf
‫‪4/8/2015‬‬
‫مجموعه و منحنی جواب های مسلط نشدنی‬
‫‪ x1 ‬را بر ‪ x2‬غالب می دانیم اگر‪:‬‬
‫‪ f1(x1) ≥ f1(x2) for all objective‬‬
‫‪ f1(x1) > f1(x2) for at least one‬‬
‫‪ ‬تابع )‪:P(S‬‬
‫‪P(S) = {a S,‬‬
‫}‪f| a is NonDominated regarding S‬‬
‫‪ S X‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪14‬‬
‫)‪ P(S‬تمام جواب های مسلط نشدنی را نسبت به مجموعه ‪ S‬باز می گرداند‪.‬‬
‫))‪ f(P(S‬منحنی مسلط نشدنی نسبت به زیر مجموعه ‪ S‬می باشد‪.‬‬
‫)‪ Xp = P(Xf‬مجموعی بهینه پارتو است‪.‬‬
‫)‪ Yp = f(Xf‬منحنی بهینه پارتو است‪.‬‬
‫‪‬‬
‫‪4/8/2015‬‬
‫تفاوت میان مجموعه مسلط نشدنی و بهینه پارتو‬
‫‪15‬‬
‫‪ ‬مجموعه جواب مسلط نشدنی در قسمتی از فضای جستجو نسبت به‬
‫جوابهای دیگر بهینه است‪ ،‬اگر قسمت انتخاب شده برابر کل فضای‬
‫جستجو باشد مجموعه مسلط نشدنی تبدیل به مجموعه بهینه پارتو می‬
‫شود‪.‬‬
‫‪4/8/2015‬‬
‫انتساب مقدار برازندگی و مرحله انتخاب‬
‫‪ ‬بر خالف بهینه سازی با یک تابع هدف‪ ،‬در ‪ MOP‬بین مقادیر هر تابع‬
‫هدف و مقدار برازندگی تفاوت وجود دارد‪:‬‬
‫‪ ‬روش هایی که توابع هدف را از یکدیگر مستقل فرض می نمایند‬
‫‪ ‬روش هایی که جهت حفظ پراکندگی در جمعیت جواب ها به کار برده می‬
‫شوند‬
‫‪16‬‬
‫‪4/8/2015‬‬
‫مسائل اساسی در جستجو با چند تابع هدف‬
‫‪ ‬دو نکته اساسی در الگوریتمهای تکاملی را باید درنظر گرفت تا بتوان‬
‫روشهای بهینه سازی چندتابعی تکاملی داشت‪:‬‬
‫‪ ‬در الگوریتم تکاملی چگونه مراحل انتخاب و انتساب مقدار ‪ fitness‬انجام‬
‫گردد تا مجموعه جوابهای بهینه پارتو بدست آید‪.‬‬
‫‪ ‬جهت بدست آوردن جوابهای متنوع و مختلف و جلوگیری از همگرایی‬
‫زودرس چه تدبیری اندیشیده شود‪.‬‬
‫‪17‬‬
‫‪4/8/2015‬‬
‫مراحل انتخاب و انتساب مقدار‬
‫‪FITNESS‬‬
‫‪ ‬روشها را از دو جنبه بررسی می شود‬
‫‪ ‬روشهایی که توابع هدف را مستقل از هم فرض کند‪.‬‬
‫‪ ‬روشهایی در جهت حفظ پراکندگی‬
‫‪Paper: E. Zitzler, EA for MOP in engineering design,…,1999.‬‬
‫‪18‬‬
‫‪‬‬
‫‪4/8/2015‬‬
‫روشهایی با فرض توابع هدف مستقل از هم فرض‬
‫‪19‬‬
‫‪ ‬انتخاب بر اساس تمرکز کردن روی توابع هدف‪:‬‬
‫‪ ‬به جای ترکیب مقادیر توابع هدف در داخل یک ‪ ،fitness‬روی یکی از توابع‬
‫هدف تمرکز می کنیم و مقدار آن را به عنوان ‪ fitness‬در نظر می گیریم‪.‬‬
‫مثال اگر قرار باشد ‪N‬عمل انتخاب انجام شود و ‪ K‬تعداد توابع هدف باشد‪،‬‬
‫‪ N/K‬عمل انتخاب بر اساس مقدار هر کدام از توابع هدف جداگانه انجام می‬
‫شود‪.‬‬
‫‪ ‬عمل انتخاب به صورت یک ترتیب مشخص یا تصادفی‬
‫‪ ‬در نظر گرفتن یک احتمال برای هر کدام از هدف ها‬
‫‪Paper: Schaffer, MOP with vector evaluated GA,.., 1985.‬‬
‫‪ Paper: Fourman, Compaction of symbolic layout using GA,…, 1985.‬‬
‫‪‬‬
‫‪4/8/2015‬‬
‫روشهایی با فرض توابع هدف مستقل از هم فرض‬
‫‪ ‬انتخابگرهای ترکیبی‪:‬‬
‫‪ ‬ترکیب مقادیر توابع هدف طبق یک رابطه خاص‪ ،‬مثال می توان از مجموع‬
‫وزن دار مقادیر توابع هدف استفاده کرد‪ .‬مقدار این مجموع به عنوان ‪fitness‬‬
‫در نظر گرفته می شود‪.‬‬
‫‪ ‬انتخاب بر اساس مفهوم پارتو‪:‬‬
‫‪ ‬یک رویه مرتب سازی(رتبه دهی ‪ )Ranking‬تکراری جهت رتبه بندی‬
‫اعضای جمعیت انجام می پذیرد‪.‬‬
‫‪ ‬رتبه بندی بر اساس کل جمعیت انجام می شود‪.‬‬
‫‪20‬‬
‫‪Book: Goldberg, GA for search, optimization and mechanic learning,‬‬
‫‪1989.‬‬
‫‪‬‬
‫‪4/8/2015‬‬
‫حفظ پراکندگی در جمعیت جواب ها‬
‫‪ ‬پراکندگی جواب ها در داخل فضای هدف بر کارایی الگوریتم بهینه سازی با چند‬
‫تابع هدف تاثیر می گذارد‪.‬‬
‫‪ ‬بررس ی چند روش‪:‬‬
‫‪Fitness Sharing ‬‬
‫‪Crowding ‬‬
‫‪ ‬ماندگاری‬
‫‪21‬‬
‫‪4/8/2015‬‬
‫‪FITNESS SHARING‬‬
‫‪ ‬سعی در نگه داشتن زیر جمعیت هایی در جمعیت جواب دارد‬
‫‪ ‬به این زیر جمعیت های ثابت نیچ ‪ Nich‬گفته می شود‬
‫‪ ‬اعضایی در نیچ یک عضو قرار دارند که در همسایگی آن قرار داشته‬
‫باشند‬
‫‪ ‬همسایگی با معیار فاصله )‪ d(i,j‬مشخص می شود‬
‫)) ‪F (i)  F ' (i) /  s(d (i, j‬‬
‫‪j p‬‬
‫‪s(d (i, j ))  1  (d (i, j ) /  share ) if d (i, j )   share‬‬
‫‪otherwise‬‬
‫‪22‬‬
‫‪0‬‬
‫‪4/8/2015‬‬
‫‪CROWDING‬‬
‫‪23‬‬
‫‪ ‬انتخاب چند جواب از جمعیت جواب ها و اعمال ترکیب و جهش روی‬
‫آنها‬
‫‪ ‬بدست آوردن ‪ fitness‬جواب های جدید‬
‫‪ ‬جایگزین کردن جواب های جدید با جواب هایی در جمعیت اولیه که‬
‫نزدیکترین مقدار ‪ fitness‬را نسبت به آنها دارند‬
‫‪4/8/2015‬‬
‫ماندگاری‬
‫‪ ‬بهترین جواب های یافت شده در جمعیت ‪ Pt‬را مستقیما به ‪ Pt+1‬منتقل‬
‫میکنیم‬
‫‪ ‬ممکن است باعث همگرایی زودرس شود‬
‫‪ ‬در عمل جمعیت جواب های ماندگار در کنار جمعیت جواب های مسئله‬
‫نگهداری می شود‬
‫‪ ‬دو روش برای ماندگار کردن جواب های بهینه‪:‬‬
‫‪ ‬مستقیما تعدادی از جواب های بهینه جمعیت ‪ Pt‬به جمعیت ‪ Pt+1‬کپی شوند‬
‫‪ ‬یک مجموعه جانبی از جواب ها به نام مجموعه ماندگار ‪Elite or external‬‬
‫‪Set‬در کنار جمعیت جواب های مسئله در نظر گرفته شود‬
‫‪24‬‬
‫‪ ‬روشهایی برای کنترل تعداد اعضای این مجموعه باید وجود‬
‫داشته باشد‬
‫‪paper: Parks, et. al. Selective breeding in Multi-objective GA,…, 1998.‬‬
‫‪‬‬
‫‪4/8/2015‬‬
‫روش های قدیمی‬
‫‪ ‬در روش های کالسیک جهت بدست آوردن جواب های بهینه پارتو‬
‫مقادیر توابع هدف با هم ترکیب شده و یک مقدار جهت ارزیابی جواب‬
‫ها با یکدیگر ارائه می کنند‬
‫‪ ‬روش وزن دهی‪:‬‬
‫)‪Fitness  Max wi f i (x‬‬
‫•‬
‫‪25‬‬
‫‪ wi‬وزن مربوط به هر یک از توابع هدف ‪ fi‬است‬
4/8/2015
SPEA
26
‫روش‬
‫‪4/8/2015‬‬
‫بررسي روش ‪SPEA‬‬
‫‪27‬‬
‫‪Paper: Zitzler, An EA for MOP: the strength pareto approch, 1998.‬‬
‫‪ ‬روش توسط آقاي ‪ Zitzler‬ارائه گردید‬
‫‪ ‬تركیب چندین روش و ارائه ي تكنیك هاي جدید‬
‫‪ ‬هدف ‪ :‬بدست آوردن مجموعه جواب نزدیك مجموعه جواب بهینه ي‬
‫پارتو‬
‫‪‬‬
‫‪4/8/2015‬‬
‫بررسي روش ‪SPEA‬‬
‫‪28‬‬
‫‪ ‬شباهت روش با روش هاي قبل ‪:‬‬
‫‪ ‬استفاده از مفهوم غلبه پارتو براي انتساب مقدار اسكالر به عنوان ارزیاب به‬
‫عناصر جمعیت‬
‫‪ ‬استفاده از جمعیت جانبي در كنار جمعیت جواب هاي مسئله ( ماندگاري )‬
‫‪ ‬جلوگیري از بزرگ شدن مجموعه ي جواب هاي ماندگار بوسیله ي خوشه‬
‫بندي‬
‫( ‪) Clustering‬‬
‫‪4/8/2015‬‬
‫بررسي روش ‪SPEA‬‬
‫‪29‬‬
‫‪ ‬تفاوت با روش هاي قبل ‪:‬‬
‫‪ ‬محاسبه مقدار اسكالر ارزیاب برای هر عضو جمعیت بر اساس اعضاي‬
‫جمعیت جانبي موجود‬
‫‪ ‬در نظر گرفتن جواب هاي بهینه جمعیت جانبي هنگام عمل انتخاب‬
‫‪ ‬ارائه تعریف جدیدي از مفهوم نیچ به منظور حفظ پراكندگي‬
‫‪4/8/2015‬‬
‫روند کلی الگوریتم ‪SPEA‬‬
‫‪30‬‬
‫بررسي روش ‪SPEA‬‬
‫‪ ‬ظاهرشدن مجموعه جواب خارجي در هر بار اجراي حلقه ي اصلي‬
‫‪ ‬خوشه بندي درصورتي كه تعداد عناصر مجموعه جانبی از یك تعداد‬
‫مشخص شده بیشتر شده باشد‬
‫‪ ‬ارزیابي جداگانه مجموعه هاي ‪P P‬و‬
‫‪ ‬عمل كردن عملگر انتخاب بر روي مجموعه‬
‫‪ ‬قرار گرفتن تعداد مناسبي عضو در حافظه كمكي به نام ‪Mating‬‬
‫‪pool‬‬
‫‪ ‬ساختن جمعیت جدید بوسیله جهش و تركیب‬
‫‪31‬‬
‫‪4/8/2015‬‬
‫‪4/8/2015‬‬
‫انتساب مقدار ارزیاب‬
‫‪‬‬
‫دوقسمت اصلي تابع ارزیاب ‪:‬‬
‫‪ .1‬ارزیابي مجموعه در‪P‬‬
‫‪.2‬‬
‫‪32‬‬
‫ارزیابي اعضاي موجود در مجموعه ‪P‬‬
‫‪4/8/2015‬‬
‫انتساب مقدار ارزیاب‬
‫‪33‬‬
‫‪4/8/2015‬‬
‫انتساب مقدار ارزیاب‬
‫‪34‬‬
‫‪ ‬هدف از بهینه سازي ‪:‬‬
‫‪ ‬غلبه بیشتر هر عضو از مجموعه جانبي بر تعداد بیشتري از اعضاي جمعیت‬
‫‪ ‬یكدستي تعداد جواب در نواحي مختلف فضاي جواب‬
‫‪4/8/2015‬‬
‫مفهوم نیچ و ارزیاب‬
‫‪‬‬
‫به هرکدام از مستطیلها نیچ گفته میشود‬
‫‪ ‬وقتی تعداد عناصر داخل نیچ افزایش می یابد (در مثال از یکی به سه) مقدار برازندگی‬
‫آن عناصر بدترشده و نیچ های دیگر بهتر می شوند‪.‬‬
‫‪‬‬
‫تفاوت اصلي با روش ‪: Fitness Sharing‬‬
‫‪ ‬عدم دخالت معیار فاصله در این روش‬
‫‪ ‬معیار اصلي غلبه پارتو‬
‫‪‬‬
‫‪35‬‬
‫همكاري و تعامل جمعیت ها در الگوریتم هاي تكاملي باعث افزایش سرعت رسیدن‬
‫به جواب مي شود‬
‫‪4/8/2015‬‬
‫خوشه بندي‬
‫‪‬‬
‫كوچكتر كردن مجموعه به كمك خوشه بندي‪: Clustering‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪36‬‬
‫تعداد مجموعه بهینه پارتو مي تواند از حد معیني بگذرد‬
‫نشان دادن تمام جواب هاي بهینه بیهوده است‬
‫حجم باالي ‪ P‬موجب كم شدن سرعت جستجو مي شود‪(.‬باعث کمتر شدن اهمیت‬
‫عملگر انتخاب)‬
‫اگر اعضای داخل مجموعه جانبی به طور نا همگون پخش شده باشد روند جستجو به‬
‫قسمتی از فضا عالقه بیشتری نشان می دهد‪.‬‬
‫‪37‬‬
‫الگوریتم خوشه بندی‬
‫‪4/8/2015‬‬
‫‪38‬‬
‫الگوریتم ‪SPEA‬‬
‫‪4/8/2015‬‬
‫‪39‬‬
‫الگوریتم ‪SPEA‬‬
‫‪4/8/2015‬‬
‫‪4/8/2015‬‬
‫بهینه سازي به روش ‪NSGA‬‬
‫روش بهینه سازي تكاملي‬
‫‪40‬‬
‫‪4/8/2015‬‬
‫بهینه سازي به روش ‪NSGA‬‬
‫‪paper: Deb, EA for MOP in engineering design,…, 1999.‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪41‬‬
‫‪‬‬
‫ایده اصلي بوسیله ي ‪ Deb‬و ‪ Srinivas‬ارائه كردند‬
‫مدل انتخابي رتبه بندي جهت انتخاب جواب هاي بهینه از جمعیت جاري‬
‫استفاده مي شود‬
‫تفاوت ‪ NSGA‬و ژنتیك ساده در عملگر انتخاب است‬
‫جمعیت جواب ها بر اساس سطح مفهوم غلبه مرتب مي شود‪.‬‬
‫چون عناصر موجود در یک لبه مرتبه یکسان دارند برای انتساب ارزیاب‬
‫از روش اشتراک استفاده می کند‬
‫‪4/8/2015‬‬
‫روند کلی انتساب ارزیاب در ‪NSGA‬‬
‫‪42‬‬
‫‪43‬‬
‫‪4/8/2015‬‬
‫روند الگوریتم اشتراک ارزیاب‬
‫برای اعضای یک ‪FRONT‬‬