ورود به حساب کاربری

نام کاربری *
رمز عبور *
یاداوری

الگوریتم تجزیه بندرز خودکار CPLEX

امتیاز کاربران

ستاره غیر فعالستاره غیر فعالستاره غیر فعالستاره غیر فعالستاره غیر فعال
 

 

در نسخه‌ی ۱۲٫۷ نرم‌افزار  CPLEX رویه‌ی جدیدی جایگزین هسته‌ای اصلی الگوریتم حل یعنی شاخه و برش Branch and Cut مطرح گردید. تحت این رویه مساله‌ی اولیه به یک مساله‌ی اصلی Master و یک یا چند زیرمساله Worker تجزیه می‌شود. این رویه در ادبیات علم بهینه‌سازی به الگوریتم تجزیه بندرز Benders Decomposition مشهور است. در این پست نحوه‌ی بکارگیری رویه بندرز در پلتفرم پایتون PYTHON در رابط کاربری SPYDER نرم‌افزار  ANACONDA به همراه مثال تشریح خواهد شد. جهت کسب اطلاعات بیشتر به راهنمای  Prescriptive Analytics for Python مراجعه نمایید.

 

 

توجه !
این راهنما برای کاربرانی قابل استفاده است که اشتراک نسخه‌ی ابری Decision Optimization on the Cloud شرکت IBM را تهیه نموده‌اند.

 

تجزیه بندرز رویکردی جهت حل مسایل ریاضی بهینه‌سازی با ساختارهای قابل تجزیه ارائه می‌کند. این رویه در سه سطح عمده قابل دسترسی است:

 

Full Annotation کاربر تصمیم می‌گیرد که کدام متغیرها یا محدودیت‌ها در مساله‌ی اصلی و کدام‌یک در زیرمسایل قرار گیرند.

Partially Annotated کاربر یک سری تصمیمات در خصوص قرارگیری بعضی متغیرها و محدودیت‌ها و نحوه‌ی تجزیه اخذ می‌کند و مابقی تصمیمات توسط رویه‌ی حل گرفته می‌شود.

Automatic رویه‌ی حل به صورت درون‌زا تمامی تصمیمات را حل‌وفصل می‌کند.

 

در صورتی که مساله دارای ساختار تجزیه‌ناپذیر باشد نرم‌افزار خطای CPXERR_NO_DECOMPOSITION را برمی‌گرداند. به‌عبارتی این رویه بر روی مسایل برنامه‌ریزی عدد صحیح مختلط خطی MILP (تعدادی از متغیرها پیوسته و تعدادی گسسته) قابل پیاده‌سازی است.

 

 

گام اول – نصب پلتفرم پایتون

ابتدا نرم افزار ANACODA را از سایت زیر دانلود و سپس نصب نمایید.

https://www.anaconda.com/downloads

پس از نصب نرم‌افزار کتابخانه DOcplex را با اجرای دستور زیر در command prompt بارگیری نمایید.

conda install -c ibmdecisionoptimization docplex

 

گام دوم – اشتراک DOcplex

در صورتی که از خدمات IBM Decision Optimization on Cloud به صورت آزمایشی استفاده می‌نمایید با انتخاب گزینه Free Trial حساب کاربری خود را فعال نموده و به مدت ۳۰ روز با حداکثر ۵ کار همزمان و مستقل از حجم مساله از خدمات آن بهره‌مند شوید. در غیراین‌صورت به کمک گزینه‌های پرداخت طرح خود را انتخاب کنید.

https://onboarding-oaas.docloud.ibmcloud.com/software/analytics/docloud/

با ثبت‌نام در این سرویس، Base URL و API Key خود را دریافت نمایید.از حجم

 

گام سوم – محیط پایتون

اسکریپت زیر برای وارد کردن کتابخانه DOcplex در محیط پایتون بکار می‌رود. هم‌چنین Base URL و URL Key را در متغیرهای جداگانه‌ای ذخیره می‌نماییم.

from docplex.mp.model import Model
SVC_URL = "ENTER YOUR URL HERE"
SVC_KEY = "ENTER YOUR KEY HERE"

 

گام چهارم – وارد کردن مدل

هدف این گام مدل‌سازی مساله‌ی تخصیص تقاضا (نسخه ساده) در محیط پایتون است. داده‌های این مساله در این لینک بارگذاری شده است. به کمک این داده‌ها، مجموعه‌ها مقداردهی می‌شوند.

R1 = range(1,d1)
R2 = range(1,d2)

تعریف مساله به فرم زیر صورت می‌گیرد.

m = Model(name='benders')

بدین‌ترتیب متغیرهای پیوسته و گسسته تعریف می‌شوند.

X = m.continuous_var_dict([(i,j) for i in R2 for j in R1])
Y = m.integer_var_dict(R1, 0, 1) 

در نهایت بلوک‌های تابع هدف و محدودیت‌ها مشخص می‌شوند.

m.minimize( sum( Costs[i][j]*X[i,j] for i in R2 for j in R1) + sum(Y[i] for i in R1) )
m.add_constraints( sum( X[i,j] for j in R1) ==1 for i in R2)
m.add_constraints( X[i,j] - Y[j] <= 0 for i in R2 for j in R1)

 

گام پنجم – اطلاعات خروجی

دستورات زیر برای فراخوانی اطلاعات خروجی بکار گرفته می‌شوند.

m.print_information()
msol = m.solve(url=SVC_URL, key=SVC_KEY)
m.report()
obj1 = m.objective_value

توجه شود که اطلاعات اجرای کد، از لحظه‌ی ارسال آن به سرور به صورت لحظه‌ای به‌روز رسانی می‌شود. کاربر قادر است تمامی مسایل ارسال شده به سرور را در داشبورد خود مشاهده نماید.

 

گام ششم – رویه بندرز خودکار

تا این مرحله از رویه‌ی پیش‌فرض نرم‌افزار CPLEX برای حل مساله استفاده شد. همانطور که اشاره شد، رویه‌ی بندرز سه استراتژی عمده بکار گرفته شده است. مقدار یک به معنی Full Annotation، مقدار ۲ به معنی Partially Annotated و مقدار ۳ به مفهوم Automatic می‌باشد. در این گام مقدار ۳ را انتخاب می‌کنیم.

m.parameters.benders.strategy = 3
m.print_information()
msol = m.solve(url=SVC_URL, key=SVC_KEY, clean_before_solve=True)
m.report()
obj2 = m.objective_value

تحت این شرایط، رویه کل متغیرهای پیوسته را در مساله‌ی اصلی و متغیرهای گسسته را در زیرمساله جای می‌دهد.

 

گام هفتم – رویه بندرز سفارشی

نحوه قرارگیری متغیرها در مساله‌ی اصلی یا زیرمساله با اعداد صفر، یک یا بیش از یک مشخص می‌شود. به کمک خاصیت benders_annotation هر متغیر، این مقادیر را می‌توان مشخص کرد. در صورتی که برای متغیری مقدار این خاصیت را برابر صفر قرار دهیم، متغیر به مساله‌ی اصلی master تحصیص داده می‌شود. در صورتی که به متغیری عددی بزرگتر مساوی با عدد یک اختصاص یابد، این عدد نشان‌دهنده‌ی شماره‌ی زیر‌مساله است.

اسکریپت سفارشی زیر را به انتهای کد اعمال می‌کنیم.

m.parameters.benders.strategy = 1
for i in R2:
for j in R1:
X[i,j].benders_annotation = i%2
m.print_information()
msol = m.solve(url=SVC_URL, key=SVC_KEY, clean_before_solve=True)
m.report()
obj3 = m.objective_value

پس از اجرای مساله با سه نوع تنظیم (عادی، بندرز خودکار و بندرز سفارشی شده) نتایج زیر قابل مشاهده است:

Normal_Branch_and_Cut (79803 iter, 8812.23 ticks, 21.55 sec.)
Normal_Full_Automatic_Benders (21317 iter, 1145.77 ticks, 3.21 sec.)
Normal_Annotated_benders (18909 iter, 1072.28 ticks, 2.65 sec.)

 

---------------------------------

منبع : ortimes.ir

شرکت دانش بنیان رایانش سریع هزاره ایرانیان به منظور ارائه راهکارهای رایانش سریع، تحلیل داده، بیگ دیتا و کلان داده به سازمانها و شرکتهای عصر دیجیتال تشکیل شده است. خدماتی از جمله طراحی راهکارهای بیگ دیتا، راه اندازی دریاچه داده و انباره داده، ساخت کاتالوگ داده، تحلیل داده و یادگیری ماشینی و ... از جمله فعالیتهای این شرکت می باشد.

 

 

آخرین مقالات

کامپایل و نصب mfix-2016.1

درک عملکرد دستگاه های انرژی، محیط زیست و فرایندها...

معرفی کامل صف پیشرفته کاف...

آپاچی کافکا نیز پلت فرم متن باز به منظور پردازش جر...

روندهای معماری داده در سا...

هدف اصلی از پیاده‌سازی معماری داده، استانداردسازی...

کامپیوترهای کوانتومی: انف...

کامپیوترهای کوانتومی انفجاری در سرعت محاسبات ایجا...

رایانش مرزی یا EDGE COMPU...

در این مقاله تصمیم داریم با مفهومی به نام رایانش...

پردازش سریع تصاویر دریافت...

پردازش سریع تصاویر دریافت از راه دور (RS) در بسیار...

امنیت در مجازی سازی و رای...

مجازی سازی و رایانش ابری در رایانش ابری کامپوننت...

الگوریتم‌‌های پیش‌بین و ک...

استفاده از الگوریتم‌های پیش‌بین و هوش مصنوعی به د...

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

رایانش ابری یکی از راه حل های فشرده توسعه یافته بر...

۶ مهارت پر تقاضای بازار د...

متخصص دانش ابری (Cloud professional) یکی از عناوی...

جریان موازی بین منابع HPC...

چکیده انجام تجزیه و تحلیل یا تولید تصویری همزمان ب...

پردازش داده‌های جریانی در...

با ظهور وب ۲٫۰ و اینترنت اشیا، ردگیری همه نوع اطلا...

معرفی روش ها و ارائه پیشن...

چكیده محاسبات ابری یک فنآوری جدید نیست؛ بلکه روشی...

آیا فرآیند دموکراتیزه شدن...

ما وسط یک تحول تکنولوژیکی هستیم که شیوه سازماندهی...

کارکرد نظارتی و مدیریتی م...

محاسبات ابری و اینترنت اشیا به عنوان دو مبحث داغ د...

پیوند کلان داده با هوش مص...

سیستم‌های نرم‌افزاری تجاری همچون سرویس‌های ERP و...

محاسبات ابری قدرت رقابتی...

آیا فناوری دیجیتال، یک نیروی دموکراتیزه کننده است...

معماري لامبدا در مقابل مع...

معماري لامبدا تولید بی وقفه داده ها در دنیاي امروز...

زبان برنامه‌نویسی Milk سر...

زبان برنامه‌نویسی Milk که توسط دانشگاه MIT توسعه...

بیگ دیتا ، یادگیری ماشین...

سازمان‌ها گاهی اوقات به سختی تلاش می‌کنند تا با دس...

محاسبات مه چه هستند و چه...

در ابتدا همه چیز «ابر» بود، ولی حالا کلمه جدید «مه...

توسعه هوش مصنوعی مبتنی بر...

به گزارش ایسنا و به نقل از انگجت، پژوهشگران "ام.آی...

نگاهی به کاربردهای رایانش...

رایانش ابری مبحثی است که این روزها زیاد به آن پرد...

نرم افزار شبیه سازی، آنال...

دانلود CST Studio Suite: ارائه راه حل های محاسبات...

دانلود Siemens Star CCM+...

نرم افزار Star CCM یک ابزار شبیه سازی قدرتمند است...

ورود بیگ دیتا به صنعت دار...

تکنولوژی در حال ورود به صنعت داروسازی است و پیش‌بی...

چهارمین جلسه meetup: اصلا...

مهاجمان اغلب با استفاده از اشتباهات کدنویسی کوچک و...

مدیریت خصوصیات صف در کلاس...

 لیست زیر ,ویژگی های صف را نمایش می دهد : acl_grou...

AMD از رویکرد طراحی تازه‌...

AMD چند روز پیش به‌صورت رسمی از رویکرد طراحی جدیدی...

دومین جلسه meet up:مقدمه...

فهرست : توضیح مختصر از توسعه ی کلودسیم نصب کلودسیم...

گالری تصاویر

hacklink al duşakabin fiyatları fethiye escort bayan escort - vip elit escort dizi film izle erotik film izle duşakabin hack forum casibom marsbahis marsbahisgirtr marsbahis matadorbet casibom