کنترل ویژگی های حل کننده بهینه سازی
نحو
model.sol(sname).create(fname”Optimization”)
model.sol(sname).feature(fname).set(pname,value)
model.sol(sname).feature(fname).create(aname,SolverAttribute)
شرح
ویژگی عملیات. از این ویژگی برای حل مسائل بهینه سازی محدود شده با PDE استفاده کنید. شی حل محاسبه شده حاوی راه حل PDE است که برای مجموعه بهینه متغیرهای طراحی ارزیابی شده است. هنگامی که روش ارزیابی گرادیان تحلیلی است، راه حل الحاقی را نیز برمی گرداند.
ماژول بهینه سازی شامل SNOPT و چندین حل کننده بهینه سازی دیگر است. برای جزئیات به کتابچه راهنمای ماژول بهینه سازی مراجعه کنید .
برای افزودن یک حل کننده ثابت، SolverAttribute بالا را با StationaryAttrib جایگزین کنید . برای حلگر وابسته به زمان، SolverAttribute را با TimeAttrib جایگزین کنید .
انتخاب حل کننده با خاصیت زیر انجام می شود
ویژگی | ارزش | پیش فرض | شرح |
optsolver | بوبیقا | کوبیلا | coordsearch | lm | مامان | مونتکارلو | نلدرماد | snopt | آی پاپت | نلدرمد | حل کننده بهینه سازی |
جدول زیر شامل ویژگی های حل کننده بهینه سازی کلی است که در همه حل کننده های بهینه سازی مشترک است:
ویژگی | ارزش | پیش فرض | شرح |
فهرست | آرایه رشته ای | خاموش | با استفاده از یک آرایه رشته ای مقادیر ثابت را به عنوان پارامترهای ورودی ارائه دهید. برای نام های ثابت مربوطه، از cname استفاده کنید . مشخصات clist و cname را ببینید . |
cname | آرایه رشته ای | خاموش | با استفاده از یک آرایه رشته ای نام ثابت ها را به عنوان پارامترهای ورودی ارائه دهید. برای مقادیر ثابت مربوطه، از clist استفاده کنید . مشخصات clist و cname را ببینید . |
کنترل | رشته | کاربر | نام مرحله مطالعه یا کاربر کنترل کننده ، اگر ویژگی به صورت دستی کنترل شود. |
نگهدارنده | در | خاموش | خاموش | هشدارها را در گزارش ذخیره شده نگه دارید. |
پیام | رشته | پیام ورود به سیستم از آخرین فرآیند راه حل. | |
objcontrib | همه | کتابچه راهنمای | همه | آیا برای استفاده از همه مشارکتهای هدف موجود یا تعیین دستی (در صورتی که optsolver lm باشد در دسترس نیست ). |
با انتخاب | اسکالر واقعی | 0.01 | تحمل بهینه برای حل کننده های بهینه سازی رایگان مشتق. |
opttolinner | اسکالر واقعی | 0.001 | تحمل بهینه برای حل کننده های بهینه سازی مبتنی بر گرادیان |
گرادیان پله | رشته | آخرین مرحله مطالعه در لیست یا هیچ، اگر مرحله مطالعه پشتیبانی شده وجود نداشته باشد. | نام مرحله مطالعه مورد استفاده برای محاسبه گرادیان. |
از دانه استفاده می کند | در | خاموش | خاموش | دانه تصادفی موجود برای Montecarlo. |
بذر مرزی | عدد صحیح | 1000 | دانه تصادفی موجود برای Montecarlo. |
nsolvemax | عدد صحیح | 1000 | حداکثر تعداد ارزیابی مدل. |
روش lsqdata | دستی|lsq | کتابچه راهنمای | روش زمان/پارامتر حداقل مربعات. زمانی در دسترس است که اهداف lsq در مدل وجود داشته باشد. |
نگهدارنده | خودکار | آخرین | همه | خودکار = آخرین | آخرین یا همه راه حل ها را برای حل کننده های بهینه سازی رایگان مشتق نگه دارید. |
keepsolgb | آخرین | lastn | همه چیز | آخر | آخرین یا همه راه حل ها را برای حل کننده های بهینه سازی مبتنی بر گرادیان نگه دارید. |
اشتباه کن | در | خاموش | بر | در صورت بروز خطا توقف کنید. برای حل کننده های بهینه سازی رایگان مشتق در دسترس است. |
nkeepsols | عدد صحیح | 2 | تعداد راه حل برای صرفه جویی زمانی که keepsolgb=lastn برای حل کننده های بهینه سازی مبتنی بر گرادیان موجود است . |
nskipsols | عدد صحیح | 10 | هر N ام ذخیره کنید. زمانی که keepsolgb=everynth برای حل کننده های بهینه سازی مبتنی بر گرادیان موجود است . |
optobj | آرایه رشته ای | عبارات هدف تعریف شده توسط کاربر | |
توصیف | آرایه رشته ای | توضیحات برای عبارات هدف تعریف شده استفاده شده. | |
optobjEvaluateFor | آرایه رشته ای | مطالعه برای ارزیابی عبارات عینی برای. | |
نوع عینی | به حداقل رساندن | بیشینه سازی | مجموع | تعیین می کند که آیا هدف باید به حداقل برسد یا حداکثر. |
چند هدفه | مجموع | دقیقه | حداکثر | مجموع | اهداف چندگانه فقط sum برای حل کننده های بهینه سازی مبتنی بر گرادیان پشتیبانی می شود. |
حل هدف | خودکار | اول | آخرین | مجموع | دقیقه | حداکثر | خودکار | راه حل. مدیریت بردارهای حل چندگانه فقط خودکار برای SNOPT، IPOPT، و LM در دسترس است. |
حل بیرونی | مجموع | دقیقه | حداکثر | مجموع | راه حل بیرونی برای حلکنندههای بهینهسازی رایگان مشتق، زمانی که مراحل مطالعه Sweep پارامتری تحت بهینهسازی وجود دارد، موجود است. |
مقیاس بندی اهداف | شروع | دفترچه راهنما | هیچ یک | هیچ یک | فعال/غیرفعال کردن مقیاس بندی هدف. |
objscaleval | اسکالر واقعی | 1 | مقیاس هدف. |
pname | آرایه رشته ای | نام پارامترهای سراسری برای استفاده به عنوان متغیرهای کنترلی. | |
initval | آرایه رشته ای | مقادیر اولیه برای پارامترهای جهانی که به عنوان متغیرهای کنترل استفاده می شود. | |
مقیاس | آرایه رشته ای | مقیاس برای پارامترهای جهانی که به عنوان متغیرهای کنترل استفاده می شود. | |
lbound | آرایه رشته ای | کران های پایین تر برای پارامترهای جهانی که به عنوان متغیرهای کنترلی استفاده می شوند. | |
ناپیوسته | آرایه رشته ای | کران های بالایی برای پارامترهای جهانی که به عنوان متغیرهای کنترلی استفاده می شوند. | |
بیان محدودیت | آرایه رشته ای | عبارات محدودیت جهانی | |
constraintL محدود شده است | آرایه رشته ای | مرزهای پایین تر برای عبارات محدودیت جهانی. | |
محدودیت U محدود شده است | آرایه رشته ای | مرزهای بالایی برای عبارات محدودیت جهانی. | |
روش ساخت | جریمه | اوگ لاگرانژ | augLagrange برای BOBYQA، مجازات برای دیگران. | روش رسیدگی به محدودیت، برای COBYLA در دسترس نیست. |
coefrho | خودکار | کتابچه راهنمای | خودکار | استراتژی برای پارامتر پنالتی rho . زمانی که constrmethod=penalty موجود است . |
rho | اسکالر واقعی | 10 | پارامتر پنالتی rho . زمانی که constrmethod=penalty و coefrho=manual موجود است . |
آره | اسکالر واقعی | 0.5 | تحمل برای پارامتر پنالتی. زمانی که constrmethod=augLagrange در دسترس است . |
گاما | اسکالر واقعی | 10 | ضریب ضرب برای پارامتر پنالتی. زمانی که constrmethod=augLagrange در دسترس است . |
که در | اسکالر واقعی | حداکثر مقدار دو برابر | کران بالایی در ضرب کننده های لاگرانژ. زمانی که constrmethod=augLagrange در دسترس است . |
اتفاقا | عدد صحیح | 10 | حداکثر تعداد تکرارهای افزوده شده. زمانی که constrmethod=augLagrange در دسترس است . |
دلتاچویس | پویا | دینامیک2 | ایستا | پویا | استراتژی برای تحمل subsolver. |
aCoef | اسکالر واقعی | 2 | پارامتر تحمل برای subsolver. زمانی که deltachoice=dynamic2 موجود است . |
دلتا | اسکالر واقعی | 0.001 | پارامتر تحمل برای subsolver. زمانی که deltachoice=static موجود است . |
enfdeconstr | در | خاموش | بر | محدودیت های طراحی را به شدت اعمال کنید. زمانی در دسترس است که optsolver برابر با neldermead ، cobyla ، montecarlo یا coordsearch باشد . |
طرح | در | خاموش | خاموش | فعال/غیرفعال کردن طرح هنگام حل. |
گروه طرح | رشته | پیش فرض | برچسب گروه طرح برای طرح در حین حل. |
کاوشگر | همه | هیچکدام | کتابچه راهنمای | همه | کاوشگرها برای محاسبه در حین حل. |
کاوشگرها | آرایه رشته ای | پروب برای استفاده، اگر probesel=دستی . | |
useobjtable | در | خاموش | بر | مقادیر هدف را در جدول نگه دارید. |
قابل اجرا | رشته | جدید | جدول خروجی برای استفاده، وقتی useobjtable=on . |
showindobj | در | خاموش | خاموش | مقادیر هدف فردی را در جدول نشان دهید. |
طرح obj | در | خاموش | خاموش | طرح هدف در حین حل. |
پنجره | رشته | جدید | پنجره برای استفاده، اگر plotobj=bj=on . |
useconstrtable | در | خاموش | بر | مقادیر محدودیت ها را در جدول نگه دارید. فقط با حل کننده های بهینه سازی رایگان مشتق در دسترس است. |
قابل ساخت | رشته | جدید | جدول برای استفاده، هنگامی که useconstrtable=on . |
pdistrib | در | خاموش | خاموش | پخش پارامتریک را توزیع کنید. زمانی در دسترس است که optsolver برابر با coordsearch، neldermead یا montecarlo باشد. |
حل کردن موازی | عدد صحیح | 1 | حداکثر تعداد ارزیابیهای مدل در هر جابجایی پارامتریک، زمانی که pdistrib=on موجود است . |
convinfo | در | خاموش | دقیق | بر | گزارش بهینه سازی |
قابل نگهداری | در | خاموش | خاموش | جدول پروب انباشته را نگه دارید. برای حل کننده های بهینه سازی رایگان مشتق در دسترس است. |
هنگامی که حل کننده بهینه سازی روی SNOPT ( snopt ) تنظیم می شود، ویژگی های زیر پذیرفته می شود:
ویژگی | ارزش | پیش فرض | شرح |
سانتیف | اسکالر واقعی | 6e-6 | فاصله زمانی تفاوت مرکزی (فقط زمانی در دسترس است که گرادیانها عددی باشد ) |
متمایز | اسکالر واقعی | 1.5e-8 | فاصله تفاوت (فقط زمانی در دسترس است که gradientsnopt عددی باشد ) . |
جشن | اسکالر واقعی | 1e-6 | تحمل محدودیت خطی |
funcprec | اسکالر واقعی | 3.8e-11 | دقت عملکرد |
gradientsnopt | تحلیلی | عددی | به جلو | الحاقی | فوروارد_عددی | تحلیلی | روش ارزیابی گرادیان/ژاکوبین برای SNOPT. |
hessupd | عدد صحیح | 10 | به روز رسانی هسین. |
جستجوی خطی | مشتق | غیر اشتقاقی | مشتق | از یک استراتژی جستجوی خطی مشتق (گرید) یا غیر مشتق (بدون گرادیان) استفاده کنید. |
لاینستول | اسکالر واقعی | 0.9 | تحمل جستجوی خطی (مقداری بین 0 و 1). مقدار کمتر، جستجوی دقیق تری می دهد. |
صندلی جشن می | اسکالر واقعی | 1e-6 | تحمل محدودیت غیرخطی |
manualhessupd | در | خاموش | خاموش | آیا برای استفاده از ویژگی hessupd . |
manualstepcond | در | خاموش | خاموش | آیا برای استفاده از شرایط گام دستی. |
optobj | رشته | تابع هدف که وقتی objcontrib=manual کمینه می شود . | |
qpsolver | cholesky | cg | qn | کلسکی | الگوریتم فرعی QP. |
snoptmaxiter | عدد صحیح | 1 | حداکثر تعداد تکرارهای اصلی |
snoptmaxiteractive | در | خاموش | خاموش | حداکثر تکرارهای اصلی را فعال کنید. |
snoptprintdir | رشته | برای فایل های log برای SNOPT، دایرکتوری فایل log را مشخص کنید. از snoptprintfile برای تعیین فایل log استفاده کنید . | |
فایل snoptprint | رشته | snoptout.txt | برای فایل های log برای SNOPT، نام فایل log را مشخص کنید. از snoptprintdir برای مشخص کردن دایرکتوری استفاده کنید . اگر نامی مشخص نشده باشد، نام فایل گزارش snoptout.txt است . |
snopttotitlim | عدد صحیح | عدد صحیح MAX_VALUE | تعداد کل تکرارها در SNOPT. |
snot تایید سطح | عدد صحیح | -1 | شیب هدف و محدودیت را با استفاده از تفاوت های محدود تأیید کنید. این ویژگی مقادیر -1 تا 3 را می گیرد. برای اطلاعات بیشتر به راهنمای کاربر برای SNOPT مراجعه کنید. |
گام دوم | رشته | خالی | شرایط گام دستی. |
ویژگی gradientsnopt برای کنترل اینکه گرادیان باید به صورت تحلیلی (با حل مسئله الحاقی) یا عددی محاسبه شود استفاده می شود. اگر تعداد متغیرهای طراحی زیاد باشد، محاسبه عددی گرادیان میتواند بسیار زمانبر باشد. گرادیان تحلیلی تنها زمانی پشتیبانی میشود که مشکل PDE اصلی ثابت باشد.
اگر manualstepcond روی روی تنظیم شود ، عبارت در ویژگی stepcond زمانی ارزیابی می شود که مقادیر جدید برای متغیرهای طراحی محاسبه شده باشد. اگر عبارت منفی شود، مقادیر جدید کنار گذاشته می شوند و حل کننده بهینه سازی طول گام را در جستجوی خط فعلی کاهش می دهد.
هنگامی که حل کننده بهینه سازی روی IPOPT ( ipopt ) تنظیم می شود، ویژگی های زیر پذیرفته می شود:
ویژگی | ارزش | پیش فرض | شرح |
nirxandin_orig_obj_at_resto_trial | در | خاموش | خاموش | تعیین می کند که آیا تابع هدف اصلی باید در نقاط آزمایشی فاز ترمیم ارزیابی شود. |
انتظار_غیرقابل_مشکل | در | خاموش | خاموش | اکتشافی را برای شناسایی سریع یک مشکل غیرقابل اجرا فعال کنید. |
gradientipopt | تحلیلی | به جلو | الحاقی | فوروارد_عددی | تحلیلی | روش ارزیابی گرادیان/ژاکوبین برای IPOPT. |
ipopt_acceptable_iter | عدد صحیح | 15 | تعداد تکرارهای قابل قبول قبل از شروع فسخ. |
ipopt_acceptable_constr_viol_tol | اسکالر واقعی | 1 | پذیرش نقض محدودیت تحمل مطلق |
ipopt_acceptable_compl_inf_tol | اسکالر واقعی | 1 | شرایط تکمیلی پذیرش تحمل مطلق |
ipopt_acceptable_tol_fact | اسکالر واقعی | 10 | تحمل همگرایی قابل قبول (نسبی). |
ipopt_constr_viol_tol | اسکالر واقعی | 100 | تحمل مطلق در مورد نقض محدودیت. |
ipopt_dual_inf_tol | اسکالر واقعی | 1000 | تحمل مطلق در عدم امکان دوگانه. |
ipopt_expect_infeasible_problem_ctol | اسکالر واقعی | 1e-2 | آستانه برای غیرفعال کردن گزینه expect_infeasible_problem. |
ipopt_expect_infeasible_problem_ytol | اسکالر واقعی | 1e8 | آستانه چند برابری برای فعال کردن گزینه expect_infeasible_problem. |
ipopt_file_print_level | عدد صحیح | 5 | سطح پرحرفی برای فایل خروجی. |
ipopt_linear_solver | اوریون | پردیزو | اوریون | حل کننده خطی که برای محاسبات مرحله ای استفاده می شود. |
ipopt_mumps_mem_percent | اسکالر واقعی | 1000 | درصد افزایش در فضای کاری تخمین زده شده برای MUMPS. |
ipopt_mumps_pivtol | اسکالر واقعی | 1e-6 | تحمل محوری. موجود برای MUMPS. |
ipopt_mumps_pivtolmax | اسکالر واقعی | 0.1 | حداکثر تحمل محوری موجود برای MUMPS. |
ipoptprintdir | رشته | برای فایل های گزارش برای IPOPT، دایرکتوری فایل log را مشخص کنید. از فایل ipoptprint برای تعیین فایل log استفاده کنید . | |
فایل ipoptprint | رشته | ipoptout.txt | برای فایل های گزارش برای IPOPT، نام فایل گزارش را مشخص کنید. از ipoptprintdir برای مشخص کردن دایرکتوری استفاده کنید . اگر نامی مشخص نشده باشد، نام فایل گزارش snoptout.txt است . |
optobj | رشته | تابع هدف که وقتی objcontrib=manual کمینه می شود . | |
start_with_resto | در | خاموش | خاموش | به الگوریتم میگوید که در اولین تکرار به فاز بازیابی تغییر کند. |
ویژگی gradientipopt برای کنترل اینکه آیا گرادیان باید به صورت تحلیلی (با حل مسئله الحاقی) محاسبه شود یا عددی استفاده می شود. اگر تعداد متغیرهای طراحی زیاد باشد، محاسبه عددی گرادیان میتواند بسیار زمانبر باشد. گرادیان تحلیلی تنها زمانی پشتیبانی میشود که مشکل PDE اصلی ثابت باشد.
هنگامی که حل کننده بهینه سازی روی Levenberg–Marquardt ( lm ) تنظیم می شود، ویژگی های زیر پذیرفته می شود:
ویژگی | ارزش | پیش فرض | شرح |
سانتیف | اسکالر واقعی | 6e-6 | بازه اختلاف مرکزی (فقط زمانی در دسترس است که gradientlm عددی باشد و گرادیدر دوم باشد ) |
متمایز | اسکالر واقعی | 1.5e-8 | بازه تفاوت (فقط زمانی در دسترس است که gradientlm عددی باشد و درجهگر اول باشد ) . |
گاما | اسکالر واقعی | 1 | عامل تحمل کاهش نقص. |
گامافاکتیو | در | خاموش | خاموش | خاتمه همچنین برای کاهش نقص. |
گاماکس | اسکالر واقعی | 1 | ضریب تحمل متغیر را کنترل کنید. |
gradientlm | تحلیلی | عددی | به جلو | الحاقی | فوروارد_عددی | تحلیلی | روش ارزیابی گرادیان/ژاکوبین. |
گریدور | اول | دومین | اولین | ترتیب تقریبی گرادیان. |
lmfact | اسکالر واقعی | 1e-3 | عامل اولیه لونبرگ-مارکوارت. |
lmaxites | عدد صحیح | 1 | حداکثر تعداد تکرارهای بیرونی |
lmmaxiteractive | در | خاموش | خاموش | حداکثر تکرارهای بیرونی را فعال کنید. |
outfsens | در | خاموش | onpws | بر | حساسیت عملکردی را ذخیره کنید. onpws معادل on است ، با این تفاوت که هنگام حل، حساسیت نیز در محلول ذخیره می شود. این هنگام استفاده از نتایج در حین حل عملکرد مرتبط است. |
هنگامی که حل کننده بهینه سازی روی MMA تنظیم می شود، ویژگی های زیر پذیرفته می شود:
ویژگی | ارزش | پیش فرض | شرح |
gcmma | در | خاموش | بر | از الگوریتم MMA همگرای سراسری استفاده کنید. |
gradientmma | تحلیلی | به جلو | عددی | الحاقی | فوروارد_عددی | تحلیلی | روش ارزیابی گرادیان/ژاکوبین. |
mmamaxiter | عدد صحیح مثبت | 1 | حداکثر تکرار بیرونی |
mmamaxiteractive | در | خاموش | خاموش | حداکثر تکرارهای بیرونی را فعال کنید. |
mmainnmax | عدد صحیح مثبت | 10 | حداکثر تکرارهای داخلی در هر تکرار بیرونی (فقط برای gcmma=off ). |
mmagepsfactor | اسکالر واقعی | 0.1 | عامل تحمل داخلی |
mmacfactor | اسکالر واقعی | 1000 | عامل مجازات محدودیت |
mmaghinit | اسکالر واقعی | 0.5 | فاکتور مجانب اولیه (ghinit). |
mmaghdecr | اسکالر واقعی | 0.7 | کاهش ضریب مجانبی (ghdecr). |
mmaghincr | اسکالر واقعی | 1.2 | افزایش فاکتور مجانبی (ghincr). |
mmaasymin | اسکالر واقعی | 0.01 | حداقل سطح مجانب (asymin). |
mmaasymax | اسکالر واقعی | 10 | حداکثر سطح مجانب (asymax). |
mmaalbefa | اسکالر واقعی | 0.1 | فاکتور مجانبی (albefa) را محدود می کند. |
mmaxmove | اسکالر واقعی | 0.5 | فاکتور کنترل کرانه ها (xxmove). |
mmaraai | اسکالر واقعی | 0.00001 | افزایش تقریبی (raai). |
مادر | اسکالر واقعی | 0.000001 | کران تقریب پایین تر (رامین). |
نقل مکان کرد | در | خاموش | بر | به طور خودکار اهداف حداقل مربعات را به محدودیت هایی برای کارایی تبدیل کنید. |
mmaminmax | در | خاموش | بر | به طور خودکار مسائل minimax و maximin را به محدودیت برای کارایی تبدیل کنید. |
در حال حرکت | اسکالر واقعی | 0.1 | حداکثر تغییر مطلق هر متغیر کنترل مقیاس شده را بین تکرارهای بیرونی محدود کنید. |
حرکت محدود | در | خاموش | خاموش | Movelimit را فعال کنید . |
برای توضیح ویژگیهای بهینهسازی، به ویژگیهای حل پیشرفته در راهنمای کاربر ماژول بهینهسازی مراجعه کنید .
ویژگی | دلیل |
Callblevel | توسط ویژگی های ویژگی مدیریت می شود |
ضد آفتاب | توسط ثابت یا زمان اداره می شود |
سولکامپ | توسط متغیرها مدیریت می شود |
گزارش | توسط متغیرها مدیریت می شود |
بیرون | محلول باید صادر شود |