انجمن سایت کلیدستان


رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
تعریف متغیر باینری در متلب

تعریف متغیر باینری در متلب

#1
سلام;
من می خوام یه مدل خیلی ساده توو متلب بنویسم که چند تا محدودیت هم بصورت کلی داره مثلابصورت زیر:
min : f = 2x + 3y
x + 4y <=10
3x + 5y <= 4
x,y >= 0
در حالت کلی وقتی همین مثال ساده با الگوریتم ژنتیک حل شه ، مثلا جواب بهینه سازی شده میشه :
x = 2.3 و  y = 4.1
حالا من میخوام نرم افزار در عین حال که بهینه سازی میکنه فقط مقادیر صفر یا یک رو به متغیر ها نسبت بده یعنی مثلا جواب بشه x= 0 و y = 1
چجوری میتونم اینکار رو بکنم
ممنون
پاسخ

تعریف متغیر باینری در متلب

#2
(۱۳۹۴/۰۳/۰۸, ۰۳:۲۱ ب.ظ)'مهران0020' نوشته: حالا من میخوام نرم افزار در عین حال که بهینه سازی میکنه فقط مقادیر صفر یا یک رو به متغیر ها نسبت بده یعنی مثلا جواب بشه x= 0 و y = 1
 

سلام.
خوب اگر تنها مقادیر 0 و 1 قابل انتخاب است، دیگر نیازی به الگوریتم ژنتیک نیست. تمامی حالت ها را تست می کنیم که در شرط ها صدق کنند، تابع f را به ازای مواردی که در شرط ها صدق کرده اند، محاسبه کرده و مینیمم مقدار آنها را به دست می آوریم که مقادیر متغیرها در آن حالت، همان جواب مسئله است.
حداقل بنده این راه حل را انتخاب خواهم کرد. چون ساده و سریع می باشد.

اگر 2 متغیر قابل انتخاب داشته باشیم، تعداد حالت ها برابر 4 است، اگر 3 متغیر باشد، برابر 8 و ...
یعنی اگر n متغیر داشته باشیم، تعداد حالت ها برابر 2 به توان n می باشد.

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

در ضمن، دستور ga در متلب برای الگوریتم ژنتیک به کار می رود (برای حل مسائلی مثل مسئله شما، فقط به همان صورت عادی، نه باینری).

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

تعریف متغیر باینری در متلب

#3
سلام مجدد . باید عرض کنم که این مثال رو برای فهم بهتر سوالم مطرح کردم . این مشکلی که مطرح کردم رو برای انجام پایان نامه ام نیاز دارم . تعداد حالت ها اونجا خیلی زیاده و نمیشه این کار رو به سادگی و بدون انجام مدل سازی انجام داد . 
توو نرم افزار Lingo خیلی ساده با قرار دادن متغیر در تابعی بع نام Bin@ این کار انجام میشه . یعنی نرم افزاری به قدرتمندی متلب چنین چیزی رو نداره !!!!!!!!!!!
پاسخ

تعریف متغیر باینری در متلب

#4
(۱۳۹۴/۰۳/۱۰, ۰۶:۱۵ ب.ظ)مهران0020 نوشته: سلام مجدد . باید عرض کنم که این مثال رو برای فهم بهتر سوالم مطرح کردم . این مشکلی که مطرح کردم رو برای انجام پایان نامه ام نیاز دارم . تعداد حالت ها اونجا خیلی زیاده و نمیشه این کار رو به سادگی و بدون انجام مدل سازی انجام داد . 
توو نرم افزار Lingo خیلی ساده با قرار دادن متغیر در تابعی بع نام Bin@ این کار انجام میشه . یعنی نرم افزاری به قدرتمندی متلب چنین چیزی رو نداره !!!!!!!!!!!

سلام، منم همین سوال رو دارم، کسی هست که جواب رو بدونه؟
پاسخ
 سپاس شده توسط شماره مجازی امارات


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان