شی SolutionInfo و روش های آن

شی SolutionInfo و روش های آن

شی SolutionInfo و روش های آن
برای هر دنباله حل کننده، یک شیء مرتبط SolutionInfo وجود دارد که با تابع getSolutioninfo() قابل دسترسی است . این شی چندین روش برای دسترسی به داده های حل تولید شده توسط یک جارو پارامتریک دارد. چنین داده‌های راه‌حل تولید شده با جاروب پارامتری معمولاً در توالی‌های حل‌کننده از نوع Parametric یا از نوع SolverSequence ذخیره می‌شوند، بسته به اینکه آیا به اصطلاح جاروهای پارامتریک بیرونی استفاده شده‌اند یا خیر. همچنین می توان از آن برای تبدیل بین تنظیمات به اصطلاح سطح حلقه و اعداد راه حل استفاده کرد. روش های زیر در جدول 6-13 پشتیبانی می شوند.
جدول 6-13: روش های SOLUTIONINFO
روش
نوع خروجی
getIndices(int، int[])
بین المللی[]
getISol (int، double)
بین المللی
getISol (int, int)
بین المللی[]
getLevelDescription(int)
رشته
getLevelNames()
رشته[]
getLevels()
بین المللی
getMaxInner(int[])
بین المللی
getMaxLevels()
بین المللی
getName(int)
رشته
getOuterSolnum()
بین المللی[]
getPNamesOuter()
رشته[]
getPUnitsOuter()
رشته[]
getSol(int)
رشته
getSolDescriptions(int، int[]، boolean، boolean)
رشته[]
getSolnum (int، boolean)
بین المللی[]
getSplitLevelDescriptions()
رشته[]
getSplitLevelNames()
رشته[]
getSplitLevelUnits()
رشته[]
getSplitName(int)
رشته[]
getSplitUnit(int)
رشته[]
getUnit (رشته)
رشته
getVals (int، int[])
دو برابر[][]
getValsImag(int، int[])
دو برابر[][]
isStructured()
بولی
معتبر است()
بولی
mapToLevel(int[], int[], boolean)
بین‌المللی[][]
mapToSolnum(int[][]، بولی)
بین‌المللی[][]
info = model.sol(<tag>).getSolutioninfo()
getIndices(سطح int، سطوح int[]) شاخص‌های یک‌پایه موجود برای سطح حلقه، سطح (مبتنی بر شاخص صفر) را برمی‌گرداند. اگر قالب ساختار یافته باشد، سطوح را می توان روی null تنظیم کردزیرا بر نتیجه تأثیر نمی گذارد. اگر قالب بدون ساختار باشد و X = سطوح[ ] را تعریف کند ، سطح i به مقدار X- امین یا تاپلی آن تنظیم می شود. مقادیر برگشتی 1،…، N هستند ، که در آن N تعداد مقادیر یا تاپل ها برای سطح داده شده است. هنگامی که level=getMaxLevel()-1 ، شاخص ها می توانند نتیجه یک محصول بیرونی بین سطوح باشند. وقتی قالب بدون ساختار است و چه زمانی سطوحتنظیم می شود، سپس لیست بدون ساختار شاخص ها برگردانده می شود. وقتی قالب بدون ساختار است، و زمانی که level=null یا level.length =0 باشد، اگر سطح به گونه ای باشد که هیچ داده ساختاریافته ای برای بازگشت وجود نداشته باشد (در حال حاضر سطح = 0 و نام پارامترهای داخلی چندگانه) خطا داده می شود .
یک مثال: یک پارامتر p که مقادیر 1 و 2 را دریافت می کند، که یک شبیه سازی وابسته به زمان برای آن انجام می شود. تمام مراحل زمانی از حل کننده ذخیره می شود. فرض کنید که p بر گام‌های زمانی تأثیر می‌گذارد. استفاده از حل کننده پارامتر زمان (یا یک Sweep پارامتریک برای مطالعه وابسته به زمان) منجر به یک شی SolutionInfo با دو سطح می شود، یکی برای زمان t (سطح 0) و دیگری برای p (سطح 1). برای دسترسی به شاخص‌های راه‌حل‌های سطح 0، از روش getIndices استفاده کنید :
SolverSequence sol = model.sol(“sol1”);
SolutionInfo info = sol.getSolutioninfo();
int [] indx_1 = info.getIndices(0, int [] {1,1});
int [] indx_2 = info.getIndices(0, int [] {1,2});
getISol (int outersolnum، int innersolnum) عدد شی چند راه حلی مبتنی بر شاخص صفر و عدد محلول مبتنی بر شاخص صفر را در داخل آن، برای اعداد محلول بیرونی و داخلی مبتنی بر شاخص یک برمی‌گرداند. شماره شی حل در موقعیت اول و شماره حل مربوطه در موقعیت دوم برگردانده می شود. شماره شی حل معمولاً برای همه innersolnum یکسان است (0)اما می تواند برای سازگاری وابسته به زمان یا برای remeshing خودکار متفاوت باشد.
getISol (int outersolnum، t double) عدد شی چند راه حل مبتنی بر شاخص صفر را برای عدد حل بیرونی یک پایه خروجی خورشید و مقدار زمانی t را برمی گرداند . عدد راه حل برگشتی معمولاً برای همه t یکسان است (0)اما برای انطباق وابسته به زمان یا برای مش بندی مجدد خودکار می تواند متفاوت باشد.
getLevelDescription (سطح int) شرحی از سطح حلقه مبتنی بر شاخص صفر، سطح را برمی‌گرداند .
getLevelNames () نام سطوح مختلف حلقه را برمی گرداند. برخی از اینها می توانند یک رشته به هم پیوسته مانند “p1,p2” باشند .
getLevels() تعداد سطوح حلقه را برمی گرداند، getLevels()<=getMaxLevels() .
getMaxInner(int[] outersolnum) حداکثر تعداد راه حل های داخلی را برای اعداد راه حل بیرونی بر اساس شاخص یک برمی گرداند. اگر outersolnum صفر باشد، حداکثر از تمام محلول های بیرونی گرفته می شود.
getMaxLevels() حداکثر تعداد سطوح حلقه استفاده شده را برمی گرداند، getLevels()<=getMaxLevels() .
getName (سطح int) نام پارامتر را برای سطح لوپل بر اساس شاخص صفر برمی‌گرداند . این نام می تواند یک رشته پیوسته مانند “p1, p2” باشد .
getOuterSolnum() شاخص های مبتنی بر یک را برای راه حل های بیرونی برمی گرداند. اگر هیچ پارامتر خارجی یا مقادیر پارامتر مربوطه اضافه نشده باشد، آرایه خالی است.
getPNamesOuter() زیرمجموعه ای از نام پارامترها را برمی گرداند که توسط یک جابجایی پارامتریک توالی شغلی حلقه شده اند.
getSol(int outersolnum) تگ دنباله حل‌کننده را برای عدد محلول بیرونی بر اساس شاخص یک برمی‌گرداند . اگر شماره راه حل نامعتبر باشد، null برگردانده می شود.
getSolDescriptions (سطح int ، سطوح int[] ، paramInclusion بولی ، indexInclusion بولی) توضیحات راه‌حل‌های سطح حلقه مبتنی بر شاخص صفر، سطح را برمی‌گرداند . تنظیم سطح فعلی را می توان در سطوح (بر اساس شاخص یک) ارائه کرد. یک رشته برای هر محلول برگردانده می شود. هنگامی که paramInclusion درست است، توضیحات همیشه شامل نام پارامتر است، حتی اگر این سطح فقط یک پارامتر داشته باشد. هنگامی که paramInclusion نادرست است، نام پارامتر تنها زمانی شامل می شود که بیش از یک نام پارامتر در این سطح وجود داشته باشد. وقتی قالب بدون ساختار است و چه زمانی سطوحتنظیم می شود، سپس لیست بدون ساختار توصیفات برگردانده می شود. هنگامی که قالب بدون ساختار است، و زمانی که سطوح ==null یا level.length ==0، یک خطا داده می شود اگر سطح به گونه ای باشد که هیچ داده ساختاری برای بازگشت وجود نداشته باشد.
getSolnum (int outersolnum، boolean strict) اعداد راه حل داخلی مبتنی بر یک را برای عدد راه حل بیرونی بر اساس شاخص یک برمی‌گرداند . اگر دقیق درست باشد، اگر outersolnum یک عدد راه حل خارجی معتبر باشد، اعداد راه حل داخلی برگردانده می شوندو در غیر این صورت یک آرایه صفر برگردانده می شود. اگر stig false باشد و اگر outersolnum مطابقت نداشته باشد، اعداد محلول برای شی محلول حاوی برگردانده می شود.
getSplitLevelDescriptions() توضیحات پارامترهای مختلف را برمی‌گرداند که برای مواردی که بیش از یک پارامتر برای یک سطح حلقه وجود دارد به یک آرایه تقسیم می‌شود.
getSplitLevelNames () نام پارامترهای مختلف را برمی‌گرداند که برای مواردی که بیش از یک پارامتر برای یک Looplevel وجود دارد به یک آرایه تقسیم می‌شود.
getSplitLevelUnits() واحدهای پارامترها را برمی گرداند. وکتوری با طول و ترتیب مشابه getSplitLevelDescriptions را برمی‌گرداند ودر صورت عدم استفاده یا تعریف واحدها، محتوای آن null است.
getSplitNames (سطح int) نام پارامترها را برای سطح حلقه مبتنی بر شاخص صفر برمی‌گرداند .
getUnit (نام رشته) واحد نام پارامتر sweep را برمی گرداند.
getVals (سطح int، سطوح int[]) مقادیر پارامتر را برای سطح حلقه مبتنی بر شاخص صفر، سطح برمی‌گرداند . تنظیم سطح فعلی را می توان در سطوح (بر اساس شاخص یک) ارائه کرد. برای سطح < getMaxLevels()-1 این فقط مقادیر پارامترهای این سطح است. تعداد سطرها با تعداد پارامترهای این سطح برابر است. ستون ها مقادیر هستند. برای level = getMaxLevels()-1 ، مقادیر به چند شکل برای مواردی که سطوح ادغام شده اند، گسترش می یابد. هنگامی که قالب بدون ساختار است، و هنگامی که سطوح تنظیم می شود، لیست های بدون ساختار مقادیر برمی گردند. زمانی که قالب بدون ساختار است، و زمانی که سطوح == null یاlevel.length =0، اگر سطح به گونه ای باشد که هیچ داده ساختاری برای بازگشت وجود نداشته باشد ، خطا داده می شود .
getValsImag (سطح int، سطوح int[]) بخش‌های خیالی مقادیر پارامتر را برای سطح حلقه مبتنی بر شاخص صفر، سطح برمی‌گرداند . تنظیم سطح فعلی را می توان در سطوح (بر اساس شاخص یک) ارائه کرد. برای سطح < getMaxLevels()-1 این فقط مقادیر پارامترهای این سطح است. تعداد سطرها با تعداد پارامترهای این سطح برابر است. ستون ها مقادیر هستند. برای level = getMaxLevels()-1 ، مقادیر به چند شکل برای مواردی که سطوح ادغام شده اند، گسترش می یابد. هنگامی که قالب بدون ساختار است، و هنگامی که سطوح تنظیم می شود، لیست های بدون ساختار مقادیر برمی گردند. زمانی که قالب بدون ساختار است، و زمانی که سطوح == nullیا level.length =0، اگر سطح به گونه ای باشد که هیچ داده ساختاری برای بازگشت وجود نداشته باشد ، خطا داده می شود .
isStructured() true را برمی گرداند مگر اینکه شی/اشیاء راه حل زیربنایی دارای تغییر پارامتر باشد که به خود فرآیند راه حل بستگی دارد. مثال‌ها شبیه‌سازی‌های وابسته به زمان هستند که در آن خروجی با گام‌های برداشته‌شده توسط حل‌کننده یا شبیه‌سازی‌های ارزش ویژه تعیین می‌شود.
isValid() true را برمی گرداند اگر داده های راه حل زیربنایی با این شی اطلاعات سازگار باشد.
mapToLevel(int[] outersolnum ، int[] innersolnum ، boolean compressedOutput) نمایش سطح بر اساس شاخص یک اعداد محلول بیرونی و داخلی مبتنی بر شاخص یک، outersolnum و innersolnum را به ترتیب برمی گرداند. تعداد ردیف های داده های برگشتی برابر با تعداد سطوح است. وقتی compressedOutput false باشد، ستون‌ها تاپل‌ها را نشان می‌دهند که عمومی‌ترین قالب است. وقتی compressedOutput درست باشد، تنظیمات سطح در هر سطح منحصر به فرد می شود.
 
وقتی compressedOutput درست است و اگر نمایش فشرده با ورودی مطابقت نداشته باشد، آرایه‌ای با تعداد ردیف‌های مناسب، اما هر کدام با طول صفر، برگردانده می‌شود.
mapToSolnum(int[][] levelSetting، boolean expandInput) نمایش عدد راه حل مبتنی بر یک تنظیم سطح حلقه levelSetting را برمی‌گرداند . ردیف اول در خروجی اعداد حل داخلی و دومی اعداد حل بیرونی است. سطح تنظیمات باید به همان تعداد ردیف داشته باشد. در هر ردیف، یک تنظیمات مبتنی بر فهرست برای هر سطح باید داده شود. اگر expandInput false باشد،تعداد ستون‌ها باید یکسان باشد و ستون‌ها به‌عنوان تاپل‌های سطح در نظر گرفته می‌شوند. اگر expandInput درست باشد، تعداد ستون‌ها می‌تواند متفاوت باشد و خروجی به حاصلضرب بیرونی تنظیمات هر سطح گسترش می‌یابد.