فرض کنید مجموعه ای تحت عنوان i داریم که به شکل زیر تعریف شده باشد،
Set i/1*10/;
اگر بخواهید تمامی زیر مجموعه های j عضوی ( مانند {1,2} , {1,3,7} ) را در کد نویسی به کار ببرید چگونه این عمل را انجام می دهید؟
ضمناً مناسب تر است که کامنت های خود، که شامل کد می باشند، را یک بار در GAMS و یا Notepad کد نویسی کرده و سپس به عنوان کامنت ارسال کنید.
با تشکر
مدیریت سایت gamsbook.ir
ایمیل: Support@gamsbook.ir
شماره تماس: 3325-405—0919
من در قسمت مجموعه ها Set
دارم بعد یک متغیر به صورت pgen(gen,t) دارم اکنون یک معادله دارم به صورت
eq1(i,t) ..pgen(gen,t)+b*pechp(i,t)$(ord(i)=3 and ord(i)=9 and ord(i)=14)
الان خطا 145 رو میده که چرا genرا در سور عمومی نیاوردی در حالی که نباید بیاریم چون در فرمول اصلی به عنوان سور عمومی نیست و من ان را به صورت زیر مجموعه از i تعریف کردم؟؟.
سوال دوم اینه که من در رابطه که نوشتم و گفتم pchp را میخواستم بگم که به باس های 3و9و14 متصل است و ان ها را چک کن درسته این شرط؟
سلام
برای مورد اول، باید gen رو توی صور عمومی بیارین حتما. و حتی i رو (که البته باید hub باشه)
برای مورد دوم به جای i بنویسید hub و شرط رو حذف کنید.
سلام
من یک مجموعه دارم /1*14/i تعداد باس ها و یک زیر مجموعه ازش گرفتم به عنوان /1,2/(i)gen. و یک متغیر به عنوان pgen(gen,t)
الان ارور 145 میده که چرا gen را داخل سور عمومی نیاوردی در حالی که طبق معادله نباید باشه، لطفا راهنمایی کنید
eq1(i,t) ..pgen(gen,t)
سلام و ادب
تو اینجور مواقع لاجیک کار رو ببینید. وقتی قراره محدودیت برای gen برقرار باشه، پس به کار بردن I خیلی با معنی نخواهد بود. پس به جای i بنویسید gen یا بنویسید
سلام
ببخشید اشتراک دو مجموعه در گمز چطور باید بنویسیم؟
سلام
سوالتون رو شفاف تر لطفا مطرح کنین. مثال بیارید
با سلام
محدودیت زیر برای فروشنده ی دوره گرد یالی هست می خواستم بدونم باید چطوری وارد گمزش کنم . تا امشب بیشتر وقت ندارم که کدش کنم .
yk =|s|-1 for all |s|=2,…,n-2 j є ES∑
j є ES زیر سیگما هست و به معنی یالی هایی که عضو زیر تور S هستند است
yk متغییر صفر و یک به معنی اینکه از یال K ام عبور کنیم یا نه
|s| کاردینالتی مجموعه ی S هست
ممنون از پاسخ شما
سلام
محدودیت ساب تور رو سرچ بزنین تو مقالات، معادل این نوشته شده با n, n-1 و u
سلام وقت همگی بخیر
آیا میشه تو گمز یه اندیس تعریف کرد( /k1*k100/) و سه تا زیر مجموعه ازش ساخت(mk,bk,ck) و تو محدودیتی که به گمز میدیم ازش بخوایم هر بار از kهای عضو یک زیر مجموعه استفاده کنه؟
(مثلا سور محدودیت رو jه که 3 عضو داره)
سلام
بله میشه. مثلا می تونین یه اندیس دیگه به اسم i تعریف کنین که از 1 تا 3 تغییر می کنه. بعد یه مجموعه دیگه به اسم rel(i,k تعریف کنین ازش به عنوان شرط تو محدودیت ها استفاده کنین.
یه همچین چیزی میشه. ممکنه نیاز به تغییر داشته باشه.
با سلام.
یک محدودیت دارم برای حذف زیر تور. تمام گره های موجود رو با مجموعه v نشون میدیم. این محدودیت برای تمامی زیر مجموعه های v بجز مجموعه تهی و خود v باید اعمال بشه. بصورت زیر:
sum((i,j),x(i,j))<=(tedad azaie majmue s)-1; be ezay har s zir majmue v, sv, s{}
به چه صورت نوشته می شود؟
سلام
شما از یه محدودیت استاندارد که از مقالات گرفته شده باشه و قطعا درست باشه باید استفاده کنین. من بدون اون فرمول نمیتونم خدمت شما نظری بدم.
با سلام
من میخواهم تمام زیرمجموعه های یک مجموعه را تعریف کنم، از چه دستوری باید در گمز استفاده کنم؟
سلام
مثال زیر نشون میده که k شامل زیر مجموعه های دو عضوی مجموعه ی i هست. برای بقیه مزیر مجموعه ها هم شما باید اندیس های چند بعدی دیگه ای مثل k تعریف کنین. مث k1 که سه بعدیا رو نشون میده.
set i/1*10/;
alias(i,m,j);
set k1(i,j,m),k(i,j);
k(i,j)=yes;
k1(i,j,m)=yes;
حالا اگه شرایط دیگه ای هم داشته باشین میتونین با دلار اعمالش کنین. مث مثال زیر:
k(i,j)$(ord(i) < ord(j)=yes;
امکانش هست جواب این تمرین را هم بگذارید؟
گذاشته بودما. یادم نیست کجاست الان!
ولی تو کامنتای پستای دیگه هست حتما. پیدا کردم میذارم حتما و خبر میدم بهتون.