Table of Contents
درک بهینه سازی چند منظوره در طراحی مهندسی
بهینه سازی چند منظوره یک پایه طراحی مهندسی مدرن است، پرداختن به مشکلاتی که دو یا چند هدف متناقض باید به طور همزمان راضی باشند، بر خلاف بهینه سازی تک هدف، هیچ راه حل منحصر به فرد وجود ندارد که به طور مطلوب تمام اهداف را برآورده کند، به جای آن، مجموعه ای از راه حل های تعادل تجاری وجود دارد، که به عنوان (FLT:0Pareto) بهینه سازی شده است.[۱] راه حل های هدف برای بهبود کیفیت فضا، اگر هیچ یک از تنظیمات جلو استاندارد برای بهبود یافته باشد.
پیچیدگی مقیاس مشکلات چند منظوره با تعداد اهداف و محدودیت های شیب سنتی اغلب مبارزه می کنند زیرا آنها نیاز به یک تابع هدف واحد دارند یا بر تنظیم وزن تکیه می کنند.این جایی است که الگوریتم های چند منظوره اختصاصی MATLAB درخشش می یابد، ارائه هر دو روش های بدون گرادینت و رویکردهای دستیابی به هدف تخصصی.
چرا MATLAB در بهینه سازی چند منظوره
MATLAB یک محیط یکپارچه و تعاملی برای مدل سازی، شبیه سازی و بهینه سازی فراهم می کند. جعبه ابزار گسترده آن نیاز به کد الگوریتم های سطح پایین از ابتدا را از بین می برد، مهندسان را قادر می سازد تا بر فرمول بندی و تجزیه و تحلیل مزایای کلیدی تمرکز کنند:
- الگوریتم ها: ابزار بهینه سازی جهانی و ابزار بهینه سازی شامل حل کنندگان چند منظوره پیشرفته مانند الگوریتم های ژنتیکی (، جستجو الگوی ( و دستیابی به هدف ( این به طور کامل آزمایش و به خوبی آزمایش شده است.
- تعریف مسئله قابل توضیح: مهندسین می توانند توابع عینی و محدود را به عنوان توابع ناشناس، اسکریپت های MATLAB یا اجرایی خارجی تعریف کنند.این انعطاف پذیری شامل شبیه سازی جعبه سیاه، مدل های FEM و معادلات تحلیلی است.
- ]GPU و پشتیبانی محاسباتی موازی: [FLT 1 ] برای شبیه سازی های محاسباتی گران قیمت، MATLAB از ارزیابی موازی از راه حل های متعدد پشتیبانی می کند، به طور چشمگیری کاهش زمان اجرا.
- [FLT: 1 ] قابلیت های طراحی MATLAB اجازه می دهد تا مهندسان جبهه های Pareto را تجسم کنند، توطئه ها را پراکنده کنند و سطوح تجارت را به تصمیم گیری کمک کنند.
جعبه ابزار و عملکرد کلیدی
دو جعبه ابزار اولیه برای کار چند منظوره (FLT:0) ابزار بهینه سازی جهانی و ابزار ابزار سازی (FLT:3) هستند.
- ] (استراتژی بهینه سازی جهانی: [FLT3 ] ( الگوریتم ژنتیکی چند منظوره) و ] (جستجو برای جلو پاتو) طراحی شده است.
- ابزار سازی عملیاتی: [FLT 1] شامل برای مشکلات نگهداری هدف و برای مشکلات مینیکس، این گرادیان مبتنی بر گرادیان و کار بهترین با توابع صاف و مداوم است.
- الگوریتم های مشتری: محیط اسکریپت نویسی MATLAB اجازه می دهد تا مهندسان برای اجرای الگوریتم های چند منظوره سفارشی مانند NSGA-II، MOEA / D یا انواع توده ذرات، با استفاده از عملیات ماتریس و توابع بهینه سازی ساخته شده است.
مراحل عملی برای بهینه سازی چند منظوره در MATLAB
موفق به استفاده از MATLAB به طراحی چند منظوره پس از یک گردش کار ساختار یافته است.در زیر مراحل ضروری است که با شیوه های مشترک نشان داده شده است.
۱- اهداف و محدودیت ها را تعریف کنید
واضح است که هر هدف را به عنوان یک تابع اسکالر بیان کنید که متغیرهای طراحی را به یک متریک عملکردی نقشه می کند. Constraints می تواند خطی، nonlinear یا integer باشد.در MATLAB، یک فایل تابع ایجاد کنید که یک بردار از اهداف را باز می گرداند.
function f = objectives(x)
f(1) = cost(x);
f(2) = -performance(x); % minimize negative performance to maximize
f(3) = weight(x);
end
محدودیت های افسردگی به محدودیت های فردی (FLT:8) و محدودیت های برابری (FLT:9) برمی گردد.
۲- یک الگوریتم مناسب را انتخاب کنید
انتخاب حل کننده مناسب بستگی به ویژگی های مشکل دارد:
- استفاده از برای اهداف غیرمووت، شکست ناپذیر، و یا بسیار غیر خطی است.
- استفاده کنید [FLT: 11] هنگامی که اهداف زیادی دارید (≥4)، زیرا آن را بهتر از الگوریتم های ژنتیکی مقیاس می دهد.
- استفاده کنید هنگامی که شما یک ارزش هدف برای هر هدف و می دانید معاملات قابل قبول است.
- [[۱] [۱۰] استفاده از [FLT] [۱۰] [[۱۰]] [۱۰] [۱] [۱۰] [۱] [۱۰] [۱۰] [۱] [۱۰] [۱] [۱۰] [۱] [۱۰] [۱۰] [۱] [۱] [۱۰] [۱] [۱] [۱۰] [۳] [۱] [۱] [۳] [۳] [۳] [۳] [۳] [۳] [۳] [۵] [۳] [۱] [۱] [۳] [۳] [۵] [۵] [۵] [۱] [۳] [۱] [۵] [۱] [۱] [۳] [۱] [۳] [۳] [۱] [۳] [۳] [۳] [۳] [۳] [۱] [۳] [۳] [۳] [۱۰] [۳] [۳] [۱] [۳] [۳] [۱] [۳] [۱] [۳] [۳] [۳] [۳] [۳] [۳] [۳] [۳] [۵] [۳] [۳] [
گزینه های الگوریتمی را تنظیم کنید
پارامترهای حل کننده تنظیم برای بهبود همگرایی و پوشش گزینه های کلیدی Pareto در عبارتند از:
- PopulationSize: [FLT 1] جمعیت بزرگتر فضای طراحی را به طور کامل تر اما افزایش زمان محاسبه است.
- maxGenerations: کنترل تعداد ⁇ ها را بر عهده دارد، استفاده از پیش فرض به عنوان پایه و افزایش اگر جبهه Pareto تثبیت نمی شود.
- [FLT: 1 ] [FLT: 1 ] [FLT: 1 ] [FLT: انحراف از جمعیت نگه داشته شده در جلو Pareto (default 0.35) ارزش های پایین تر بر چند راه حل نخبگان تمرکز.
- [FrossoverFraction]، MutationFcn، SelectionFcn: Tune برای تعادل اکتشاف و بهره برداری.
گزینه ی set:
options = optimoptions('gamultiobj', ...
'PopulationSize', 200, ...
'MaxGenerations', 500, ...
'ParetoFraction', 0.4, ...
'Display', 'iter');
۴- بهینه سازی و نتایج بصری سازی را اجرا کنید
اجرای The Solver:
[x, fval, exitflag] = gamultiobj(@objectives, nvars, A, b, Aeq, beq, lb, ub, @constraints, options);
پس از اجرای آن، به صورت مستقیم از روی گزینه ی “FLT:17” یا “FLT:18” استفاده کنید.
plot(fval(:,1), fval(:,2), 'o');
xlabel('Cost');
ylabel('Performance');
title('Pareto Front');
برای سه هدف، از یا استفاده کنید تجزیه و تحلیل اضافی با (از ابزار بهینه سازی جهانی) می تواند شکاف های تجاری را برجسته کند.
برنامه های مهندسی واقعی
بهینه سازی چند منظوره در MATLAB در بسیاری از رشته های مهندسی اعمال شده است.در زیر سه سناریو تصویرسازی وجود دارد.
فضا: تجارت بین وزن و سوخت بهره وری
طراحی یک بال هواپیما شامل به حداقل رساندن وزن ساختاری در حالی که حداکثر بهره وری آئرودینامیک (اغلب با نسبت آسانسور به رو به رو) این درگیری اهداف است زیرا بال های سبک تر به طور معمول نیاز به پروفایل های نازک تر دارند که با استفاده از (FLT 23) افزایش می یابند، مهندسان می توانند ابعاد بال (دو، ضخامت، زاویه) را پارامتر کنند و شبیه سازی ساختاری را اجرا کنند.
ماشین آلات: تعادل هزینه و امنیت سقوط
در طراحی خودرو، کاهش درگیری های هزینه تولید با بهبود ایمنی تصادف ( جذب انرژی، یکپارچگی محفظه مسافر) MATLAB می تواند نرم افزار FEA را ادغام کند (به عنوان مثال، LS-DYNA از طریق تماس) و بهینه سازی ضخامت مواد، تقویت و هندسه حل کننده چند منظوره مجموعه ای از طرح هایی را فراهم می کند که از کم هزینه / کم هزینه برای انتخاب مهندسین بالا / ایمنی، اجازه می دهد تا مهندسین بازار بالا را انتخاب کنند.
مهندسی عمران: طراحی ساختاری تحت چندین بار
ساختارهای ساختمانی باید به طور همزمان هزینه های مادی را به حداقل برسانند و ظرفیت بار بار در زیر باد، لرزه و بارهای گرانش را به حداکثر برسانند. بهینه سازی چند منظوره MATLAB می تواند متغیرهای گسسته (اندازه های پرتو) و متغیرهای مداوم (مصلح) را کنترل کند.
تکنیک های پیشرفته و سفارشی سازی
برای مشکلات مهندسی پیچیده، تنظیمات استاندارد ممکن است کافی نباشد. MATLAB از قابلیت های پیشرفته برای بهبود عملکرد و کیفیت راه حل پشتیبانی می کند.
استفاده از Parallel Computing
هنگامی که ارزیابی عینی گران است (به عنوان مثال، شبیه سازی CFD که دقیقه در هر نقطه طراحی قرار می گیرد)، موازی با ارزیابی جمعیت (FLT 25) در ساختار گزینه ها:
options = optimoptions('gamultiobj', 'UseParallel', true);
parpool; % start parallel pool
این توزیع ارزیابی تناسب اندام در سراسر هسته های CPU یا یک خوشه، امکان بهینه سازی در مقیاس بزرگ.
روش های هیبریدی
ترکیب اکتشاف جهانی (به عنوان مثال GA) با اصلاح محلی (به عنوان مثال، [FLT 27]) می تواند جبهه Pareto را تیز کند.پس از اجرای الگوریتم ژنتیکی، بهبود مبتنی بر گرادیان را به هر نقطه Pareto اعمال کنید:
for i = 1:size(x,1)
x_refined(i,:) = fmincon(@(x) objectives(x), x(i,:), ...);
end
از [[FLT 29|3|استفاده کنید یا استفاده کنید تا چندین جستجو محلی را از نقاط مختلف آغاز کنید.
قرص های معمول و بهترین روش ها
حتی با ابزارهای قدرتمند MATLAB، مهندسان باید از اشتباهات معمول اجتناب کنند:
- [FLT: 1] اگر یک هدف دارای اندازه بسیار بزرگتر از دیگران باشد، الگوریتم ممکن است اهداف کوچکتر را نادیده بگیرد (به عنوان مثال، حداقل ایده آل را کم کنید و تقسیم شده توسط محدوده) برای اطمینان از وزن برابر در مقایسه تسلط Pareto.
- بسیاری از اهداف: بیش از 10 هدف اغلب همگرایی را تضعیف می کنند، زیرا تسلط کاهش ابعاد یا استفاده از [FLT 31] نادر می شود.
- در اندازه جمعیت ناکافی: جمعیت کوچک منجر به تقسیم بندی جبهه های Pareto می شود، افزایش اندازه جمعیت به طور متناسب با تعداد متغیرهای تصمیم گیری.
- تشخیص محدودیت ها: محدودیت های غیر خطی می تواند به شدت فضای ممکن را محدود کند.همیشه رضایت محدود پس از بهینه سازی را تأیید کنید.
- اعتماد به نفس در گزینه های پیش فرض: تنظیمات پیش فرض عمومی اما بهینه نیست.
بهترین شیوه ها شامل اجرای چندین اجرا با دانه های تصادفی مختلف، ردیابی معیارهای تنوع و تجسم جبهه Pareto به عنوان بهینه سازی پیشرفت می کند.
منابع خارجی و خواندن بیشتر
برای عمیق تر کردن درک خود، این منابع را بررسی کنید:
- [[ویرایش] [۱] [۱۰] [۱] [۱۰] [[۳]] [[۳]] [۳] [۳]] [۳] [۳]] [۳] [۳] [۳] [۳] [۳]] [۳] [۳] [۳] [۳] [۳] [۳] [۳] [۳] [۳] [[[۳] [۳] [۳] [۳] [[[[۳]] [۳] [۳] [۳] [[[۳] [۳] [۳] [۳] [۳] [۳] [۳] [۳] [۳] [۳]] [۳]]]]] [۳] [۳] [[[۳] [۳] [۳] [[[۳] [۳] [۳] [[[[[[۳]]] [۳] [۳] [۳] [۳] [[[[[۳] [۳] [۳] [۳] [۳] [[[[[[۳] [۳] [۳] [۳] [۳] [۳] [۳] [۳] [۳] [۳
- ] [ جهانی بهینه سازی ابزار جعبه ابزار ] [ ] ] ] [ ] - جزئیات در الگوریتم ها و قابلیت ها.
- تکنیک های تجسمی (FLT 1) - طرح پیشرفته برای نتایج چند منظوره.
- ] [# ] [FLT: 1 ] ] [ یک الگوریتم سریع و غیر آلی چند عینی ژنتیکی [ - مقاله بنیاد توسط دب و همکاران (IEEE، 2002).
نتیجه گیری
بهینه سازی چند منظوره یک ابزار ضروری در طراحی مهندسی است، امکان کشف راه حل های تجارت-off که مطابق با الزامات متناقض است. MATLAB یک محیط جامع و انعطاف پذیر با الگوریتم های پیشرفته، تجسم قوی و پشتیبانی از محاسبات موازی فراهم می کند - با دنبال کردن یک گردش کار ساختاری - اهداف، انتخاب مناسب حل کنندگان، تنظیم گزینه ها و تجزیه و تحلیل دقیق نتایج - بهترین روش های انطباق خودرو، و عملکرد سیستم های سازگار با دیگر، و روش های سازگار با سایر زمینه های عملکرد، و سیستم های سازگار با سیستم های سازگار با نیروی هوایی، و روش های مختلف، و عملکرد، می تواند به طور موثر، و روش های سازگار با سایر روش های سازگار با سایر روش های سازگار با سایر روش های سازگار با دیگر.