کد گمز مسئله مسیریابی با در نظر گرفتن پنجره زمانی

GAMS code for VRP with Time Window
امتیازی ثبت نشده است
دسته بندی : برچسب : , , , , , تاریخ انتشار : 2 اردیبهشت 1403تعداد بازدید : 24
نوع فایل

gms

آخرین خریداران
تعداد فروش : 0

45,000 

قوانین استفاده

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

  • دسترسی به فایل محصول به صورت مادام‌العمر
  • ۶ ماه پشتیبانی کاملا رایگان و تضمین شده
توضیحات مختصر محصول
کد گمز مسئله مسیریابی با در نظر گرفتن پنجره زمانی

مسیریابی از گذشته تاکنون همواره مورد بحث محققین بوده است. علت این توجه نیز کاربرد فراوان مسیریابی در حوزه­‌های مختلف می­‌باشد. پیدا کردن مسیر مناسب می‌­تواند بر هزینه و درآمد واحدهای اقتصادی، بازاریابی، جهانگردی و … تاثیر­گذار باشد. طراحی سیستم حمل و نقل به منظور اینکه خدمت‌رسانی خدمات مورد نیاز در کوتاهترین مسیر ممکن یا کمترین زمان ممکن باعث افزایش سودآوری و همچنین کاهش برخی از هزینه‌ها مانند هزینه سوخت، استهلاک ماشین و دیگر موارد خواهد شد.

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

 

تعریف مجموعه‌ها و پارامترهای مسئله:

c: مجموعه نقاط برای بازدید و i,j,n,{n_1},{n_2} \in c.

d: مجموعه نقطه شروع ابتدایی (منزل شخص یا دیپات).

t:مجموعه دوره‌های زمانی (تعداد روزهای مدنظر).

{di{s_{{n_1}{n_2}}}}: میزان مسافت از گره {{n_1}} به گره {{n_2}}.

T: حداکثر میزان زمان بازدید از منابع در هر روز.

{t_{nc}}: میزان زمان سفر از گره n به گره c.

{t_{n}}: زمان لازم برای بازدید از گره n.

 

تعریف متغیرهای مسئله:

{x_{nn}^t}: متغیر باینری یا صفر و یک که نشان می‌دهد که گره n به گره n در دوره t متصل شده است.

{a_{cd}}: متغیر باینری یا صفر و یک که نشان می‌دهد گره c به گره d متصل شده است.

y_n^t: متغیر کمکی صفر و یک.

u_c^t: متغیر کمکی صفر و یک برای نوشتن محدودیت‌های حذف زیرتور.

 

مدل ریاضی مسئله مسیریابی با در نظر گرفتن پنجره زمانی به صورت زیر می‌باشد:

تابع هدف مسئله:

    \[MinZ = \sum\limits_t^{} {\sum\limits_{{n_1}}^{} {\sum\limits_{{n_2}}^{} {di{s_{{n_1}{n_2}}}x_{{n_1}{n_2}}^t} } } \]

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

 

محدودیت‌های مسئله:

    \[\begin{array}{l} \sum\limits_t^{} {\sum\limits_n^{} {x_{in}^t} } = 1,\forall i\\ \sum\limits_t^{} {\sum\limits_n^{} {x_{nj}^t} } = 1,\forall j \end{array}\]

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

 

    \[\sum\limits_{{n_2}}^{} {x_{d{n_2}}^t} + \sum\limits_{{n_1}}^{} {x_{{n_1}c}^t} = 1 + {a_{cd}},\forall c,d,t\]

محدودیت بالا، تعیین بازدید از گره‌ها را به ترتیب از مبدا (دیپات) به گره و گره به گره‌های دیگر و در نهایت از گره آخر به مبدا (دیپات) تعیین می‌کند.

 

    \[\sum\limits_c^{} {\sum\limits_n^{} {{t_{nc}}} } x_{nc}^t + \sum\limits_n^{} {{t_n}} y_n^t \le T,\forall t\]

این محدودیت، حداکثر زمان بازدید در هر روز را نشان می‌دهد. به عبارت دیگر در هر روز نباید زمان بازدید از مقدار تعیین شده فراتر رود.

 

    \[\begin{array}{l} \sum\limits_{{n_1}}^{} {x_{{n_1}n}^t} = \sum\limits_{{n_2}}^{} {x_{n{n_2}}^t} ,\forall n,t\\ y_n^t \ge \sum\limits_c^{} {x_{nc}^t,\forall n,t} \end{array}\]

این محدودیت‌ها نیز محدودیت‌های بالانس مسیر می‌باشند.

 

    \[u_i^t - u_j^t + |N|x_{ij}^t \le |N| - 1,\forall i,j,t\]

این محدودیت‌ نیز، محدودیت‌ کمکی برای حذف زیرتور می‌باشند. لازم به ذکر است از روش MTZ برای حذف زیر تور در این مسئله استفاده شده است.

 

مدل بالا در نرم افزار گمز کدنویسی شده است که خروجی متغیرهای مسئله پس از حل در قسمت display نرم‌ افزار قابل مشاهده می‌باشد.

 

تحلیل نتایج برای یک نمونه داده در کد گمز:

تعداد مجموعه نقاط برای بازدید در کد گمز قابل تعیین می‌باشد. به عبارت دیگر کافی است در قسمت مجموعه‌ها (Set)، مقادیر مدنظر خود را تعریف نمایید.

به عنوان نمونه در کد گمز پیش‌فرض، مقادیر تعیین شده به صورت زیر می‌باشد:

 

SETS
Node   dc and customer /d1,c1*c10/
d(Node) dc /d1/
c(Node) customer /c1*c10/
V                 /v1*v2/

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

مسئله (کد گمز) پس از حل (با توجه به داده‌های تعریف شده) خروجی زیر را نشان می‌دهد:

 

کد گمز

 

که اشاره دارد که در مسیر اول بایستی به ترتیب گره 6، 5، 4 و 3 بازدید شوند و همچنین در مسیر دوم به ترتیب گره 9، 8، 1، 7، 2 و 10 بازدید شوند.

نمایش بیشتر
دیدگاه های کاربران
دیدگاهتان را با ما درمیان بگذارید
0 0.0
بر اساس 0 خرید
0
0
0
0
0

هنوز بررسی‌ای ثبت نشده است.

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

اولین کسی باشید که دیدگاهی می نویسد “کد گمز مسئله مسیریابی با در نظر گرفتن پنجره زمانی”

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

توسط
تومان
قیمت محصول

45,000