تمرین ۶: تابع sign در gams

یکی از تابع های معروف ریاضیات تابع sign است. این تابع را در گمز چگونه تعریف می کنید؟ پس از تعریف تابع، مدلتان از چه تایپی هست؟ MIP? MINLP? NLP? زمان حل مدل به نظر شما چقد افزایش یا کاهش می یابد؟

SignFunction

عبارت زیر را با در نظر گرفتن دو حالت زیر کد کرده و کامنت بگذارید:
۱٫ X یک اندیس و یا یک پارامتر است.
۲٫ X یک متغیر است. (خیلی مهم)

موفق باشید.

اگر بخواهید تمامی زیر مجموعه های j عضوی ( مانند {۱,۲} , {۱,۳,۷} ) را در کد نویسی به کار ببرید چگونه این عمل را انجام می دهید؟

ضمناً مناسب تر است که کامنت های خود، که شامل کد می باشند، را یک بار در GAMS و یا Notepad کد نویسی کرده و سپس به عنوان کامنت ارسال کنید.

با تشکر
مدیریت سایت gamsbook.ir

ایمیل: Support@gamsbook.ir
شماره تماس: ۳۳۲۵-۴۰۵—۰۹۱۹

 

8 دیدگاه

  1. amir

    با عرض سلام و خسته نباشید
    اگه میشه جواب این تمرین رو قرار بدید مخصوصا حالت دوم رو.
    اگه تابع علامت بصورت sign(x1,x2) باشه و برای x1>x2 مقدارش یک و برای x2>x1 مقدارش منفی یک باشه، به چه صورت باید بنویسیم.(x1 و x2 هر دو متغیرن)
    اقای محمودی اگه وقت کردین اینو جواب بدین
    با تشکر

  2. amir

    با عرض سلام و خست نباشید
    اگه تابع علامت بصورت sign(x1,x2) باشه و برای x1>x2 مقدارش یک و برای x2>x1 مقدارش منفی یک باشه، به چه صورت باید بنویسیم.(x1 و x2 هر دو متغیرن)
    اقای محمودی اگه وقت کردین اینو جواب بدین
    با تشکر

    1. محمودی

      سلام
      این به عنوان تمرین به بچه ها داده شده. ولی خب:
      فرض کنیم y=sign(x1,x2
      به صورت زیر میشه خطیش کرد:

      x1=g=x2-BigM*(1-y)
      x2=g=x1-BigM*y
      

      BigM عدد بزرگ هست.

      1. amir

        خیلی ممنون بابت پاسخگوییتون
        فقط اینجا که نوشتید BigM*(1-y) ، منظور از y همون چیه؟خود تابع y=sgn(x1,x2) یا متغیر باینری هستش؟

        1. محمودی

          صورت سوال شما همین بود که y باینری باشه. بله همون هست.

دیدگاهی دارید؟