خطاهای گمز

با اطمینان ۹۹ درصد تمامی کد نویسان گمز -از مبتدی گرفته تا فوق حرفه ای یا توسعه دهنده-
پس از Run کردن مدل خود، حداقل یک Error را مشاهده خواهند کرد.

خوشبختانه اکثر Error هایی که GAMS به کاربر می دهد با تغییرات بسیار ساده ای در کد نویسی رفع خواهند شد.
در این بخش قصد داریم خطاهای رایج و معمولی که دوستان در بخش های مختلف کامنت گذاشته اند، را به عنوان تاپیک های جداگانه ای مورد بحث قرار دهیم.
با ما همراه باشید

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

 

درباره نویسنده

915 دیدگاه

  1. مهشید

    سلام ممنون از پاسختون
    من در کد زیر هم با ارور ۱۴۹ مواجه شدم، میشه بفرمایید ایراد در کدام قسمت بوده؟ ممنون
    constraint19(l,n,t)..sum(i,XL(i,l,t,s))+sum(m,XM(m,l,t,s))=l=Sa(l,n);

  2. سامی

    سلام آقای محمودی وقت بخیر.تو دستور زیر چندتا سوال داشتم و اینکه خیلی کدش رو لازم دارم.ممنون میشم راهنمائی بفرمائید:

    Loop((u,j),
    fm(u)= round(uniform(fm.lo(j)=l= (1+k(j))*fb(j))
    fm.up(j)=g=(1-k(j))*fb(j)));
    k(j)= uniform ((fm(u)-f(j))/fb(j));
    fb(j) = sum(j,f(j)/majmu);
    ;(
    

    یک متغیر رندم دارم مثل fmکه به طور یکنواخت از بازه fm.lo(j)=l= (1+k(j))*fb(j))وfm.up(j)=g=(1-k(j))*fb(j)))مقدار میگیره. k(j)یک متغیر رندم هست که ازk(j)= uniform ((fm(u)-f(j))/fb(j) مقدار میگیره.روی .lo خطای ۱۴۱ و۱۷۲و۱۴۲ میده بایدlo رو قبلش رو پارامتر تعریف کنم؟تعریف هم کردم دوباره خطا میگیره.
    اصلا بخواهیم بگیم یک متغیر به طور رندم از بازه ای مقدار میگیره باید فرم بالا رو بنویسم؟سپاس فراوان.

    1. محمودی

      سلام
      شما نمیتونین برای یه متغیر همچین محاسباتی بنویسین. فقط باید بگین که مثلا fm متغر مثبت هست، و حد بالا و حد پایین براش بذارین.
      دقت کنین که متغیر رندم نداریم. فقط پارامتر رندم داریم. ویژگی هایی نظیر .lo.fx,.up فقط برای متغیر استفاده میشه

  3. mahya

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

    CO13(t,k,i,j,f,g)$((O(i,k))and(ord(i)>= ord(j)) and (ord(f)  ord(g)))
                       and $((ord(i)> ord(j)) and (ord(f) eq ord(g))) ..
             keci*(1-Y(t,k,i,j,f,g))+ ST(t,k,j,f)- ST(t,k,i,g)=g= PT(t,k,i,g);
    
      1. مریم

        سلام .وقت بخیر
        ببخشید کد من وقتی از نرم افزار اکسل یه فایلی فراخوانی میکنم ارور۵۱۰,۵۰۲ میده ،میشه لطفا راهنماییم کنیدممنون میشم

        1. محمودی

          سلام
          شماره ارور ها رو کسی حفظ نیست. لطفا متن ارور رو بفرستین.

  4. mahya

    با سلام و تشکر از سایت خوبتون
    این محدودیت که اینجا می فرستم ، مربوط به توالی کارها در مسئله job shop هستش
    و دو تا شرط رو باید با هم لحاظ کنه ولی ارور میده، ممنون میشم لطف بفرمائید راهنمایی
    کنید.
    CO13(t,k,i,j,f,g)$((O(i,k))and(ord(i)>= ord(j)) and (ord(f) ord(g)))
    and $((ord(i)> ord(j)) and (ord(f) eq ord(g))) ..
    keci*(1-Y(t,k,i,j,f,g))+ ST(t,k,j,f)- ST(t,k,i,g)=g= PT(t,k,i,g);

    نه اتفاقا به اون and قبل از شرط دوم ایراد میگیره، و میگه که نباید میبود و به صورت
    “..” یا ” :=”یا “$=” باید باشه ، ولی اونا رو هم که زدم بازم ارور میداد.

    1. محمودی

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

  5. امیر

    سلام
    چطور میتونیم توان زیر را در گمز وارد کنیم :
    x^0.23

  6. خسروی

    سلام. وقتتون بخیر.
    یه سوال از خدمتتون داشتم. من این خطا رو روی سطر مربوط به دستور solve دارم. هر کار هم انجام میدم، رفع نمیشه. خیلی ممنون میشم اگر راهنماییم کنید
    Error 64: function called with non-constant argument

    1. محمودی

      سلام
      شما یه فانکشن استفاده کردین که جلوش متغیره. مثلا fact(x . گمز انتظار داره x یه ورودی مشخص باشه، در حالی که متغیر تعریفش کردین و ارور میده.

  7. خسروی

    این هم دستور حل کردنم هست:
    Solve sizing using MINLP maximizing NPV;
    متغیر باینری دارم و از دستور ifthen هم تو تعریف یک تابع استفاده کردم.

  8. پویان

    سلام.وقتتون بخیر.یک سوال از خدومتتون داشتم.یک مساله برنامه ریزی خطی دارم که بعد اینکه ران میشه خطای زیر رو میده
    Row ‘equ_8(b1.b2)’ infeasible, all entries at implied bounds.
    ممنون میشم راهنمایی کنید

    1. محمودی

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

  9. مریم

    سلام
    وقتتون بخیر
    من مدلم دو هدفه هستش و اهداف هم با هم در تضاد هستند ولی وقتی از روش ال پی متریک یا اپسیلون محدودیت میرم فقط یک نقطه جواب میده و نمیتونم پارتو رسم کنم.در صورتی که باید ۱۰ تا نقطه پارتو بده.ممنون میشم راهنماییم کنید.

    1. محمودی

      سلام
      از حل صحیح مدل مطمئن بشین اول.
      ثانیا ممکنه اونقدر فضای شدنی مسئله شما کم باشه که فقط همین یه نقطه رو به شما بده. جدول pay-off رو بهش دقت کنین. ببینین چه جوابابیی ارائه میده.

  10. علی

    با سلام
    من میخوام لینک بین متلب و گمز رو انجام بدم وقتی دستور
    gdxInfo و gdxWhos رو توی متلب قسمت command window تایپ میکنم ارور میده
    ‘undefined function or variable ‘gdxWhos رو میده، نمیدونم چجوری حلش کنم.
    طبق یه فیلم آموزشی داشتم پیش میرفتم که ارور میگیرم.
    ممنون میشم راهنماییم کنین%%

  11. علی

    با سلام
    وقتتون بخیر
    در رابطه با نحوه ی ارتباط بین گمز و متلب دچار مشکل شدم.
    بعنوان مثال با توجه به روشی که مطالعه کرده بودم وقتی تو command window متلب تایپ میکنم
    ‘gdxWhos ‘solution یا مثلا وقتی از دستور ‘gdxInfo ‘solution استفاده میکنم با یه سری ارور مواجه میشم.
    []
    ‘undefiend function or variable ‘gdxWhos
    Error using gdxInfo
    Error in gdxOpenRead
    []

  12. باران

    سلام. خسته نباشین. معنای ارور ۵۵ و ۲۵۷ در گمز چیه؟ چون دیدم در مورد بعضی از ارور ها توضیح دادین مزاحمتون شدم. اگه راهنمایی کنین ممنون میشم.

    1. محمودی

      سلام
      خواهش میکنم.
      متن ارور ها رو لطفا ارسال کنین.

  13. باران

    سلام. خسته نباشین. معنای ارور ۵۵ و ۲۵۶ در گمز چیه؟ چطور باید این خطاها را برطرف کنم؟
    خیلی ممنون.

  14. پری

    سلام خطای
    UNABLE TO OPEN GDX FILE FOR $GDXIN از چه بابت هست. بنده کد یک پایان نامه رو هنگام ران گرفتن با این خطا مواجه میشم.
    میشه لطفا راهنمایی بفرمایید
    بی نهایت تشکر

    1. محمودی

      سلام
      شما یه اشتباهی تو ادرس دهی کردین. مثلا فایل اکسل یا gdx رو داخل دایرکتوری فعال گمز نذاشتین. یا کد ادرس دهیتون اشتباهه.

  15. سلام
    سور عمومی برای اندیس ها به این شکل t=1 و t >1 و یا p > v که اخری V توی پارامترها هم هست چگونه باید توی قسمت equation بنویسم؟
    const(….???….)

  16. حامی

    با سلام
    من می خوام در گمز محدودیت ذیل رو تعریف کنم :
    یک راننده با شمارنده m در طی دوره t به یک خودروی نوع g ، به یک خرده فروش r ومرکز توزیع j اختصاص داده شود .
    آیا تعریف ذیل درسته؟ در غیر این صورت چطور باید بنویسمش ؟
    ممنون میشم راهنمایی بفرمایید .

    eq20(o,n,m,t)..sum((g,r,j),XD(o,n,m,j,r,g,t))=e=1
    
    1. محمودی

      سلام
      بقیه اندیس ها رو نگفتین، ولی طبق اینی که فرمودین صور عمومی ظاهرا فقط باید m,t باشه.

  17. ریحانه

    سلام.من در کد زیر با خطای ۳۶ مواجه میشم.ممکن است راهنمایی فرمایید ایراد در چیست؟
    first clause .. sum(i, b(i)*x(i))=e=2;

    1. محمودی

      سلام
      شماره خطا رو کسی حفظ نیست. متنش مهمه.
      احتمالا به این دلیل هست که اسم محدودیت با فاصله اومده. باید بچسبه به هم.

  18. زهرا شیری داریانی

    سلام
    خطای ۵۰ رو چطور باید از بین ببریم؟
    میگه:
    loop controlling index appears in model equations
    در صورتی که هر چی چک می کنم‌؛ این اتفاق نیفتاده

    1. فرض کنید شما equation مطابق زیر دارید

      alias(k,j);
      eq(j,k)$(ord(k)<ord(j)) .. X(k)=l=X(j);
      

      شما نمی توانید عبارتی مثل زیر داشته باشید وگرنه همان خطایی که گفتید را خواهید گرفت

      loop(j,
      test=ord(j);
      solve model us lp min of ;
      );
      

      چزا ؟
      چون ست j در مدل شما به کار رفته است
      راه حل آن :
      یک ست با دستور alias برای j تعریف کنید و حلقه خود را روی ست جدید ببندید

  19. افشین

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

    1. محمودی

      سلام
      مچکرم. توضیحات مناسب نیست. کد گمز رو ارسال کنین به ایمیل سایت.

  20. سروش

    سلام من یه کد نوشتم که exit code =3 میده و مسئله رو حل نمیکنه و هر چی کد رو بررسی میکنم متوجه نمیشم که کجاش باعث بی کران شدن میشه! میتونین کمکم کنید لطفا

    1. محمودی

      سلام
      دلایل متفاوتی ممکنه این خطا رو ایجاد کنن. بی کران نیس هنوز. کدتون باید بررسی بشه. abortی چیزی استفاده کردین؟

  21. شیوا

    با سلام خدمت شما.من در قسمت تایع هدف به مشکل برخوردم و ارور ۱۴۹ رو میده یکبار هم ارور داد برای تکرار sum . sum های اضافه رو که حذف کردم اون ارور دیگه نیمد ولی این ارور که برای مجموعه ها میده رو من نمیتونم برطرف کنم.

     objectivefunction..z=e=sum((a,i,j,k,m,bk,bm),
    w(i,j)*R1(i,j,k,m)*c1(i,j,k,m)*x1(a,i,j,k,m)+
    w(i,j)*R2(i,j,m,bk)*c2(i,j,bk,m)*x2(a,i,j,bk,m))+
    w(i,j)*R3(i,j,bm,k)*c2(i,j,k,bm)*x3(a,i,j,k,bm))+
    w(i,j)*R4(i,j,bm,bk)*c4(i,j,bk,bm)*x4(a,i,j,bk,bm));
    

    خیلی خیلی ممنون میشم من رو راهنمایی کنین

    1. محمودی

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

  22. باقری

    سلام وقت بخیر
    برای من اروری آبی رنگ با مضمون زیر ایجاد شده:
    [Error at line 104: division by zero]
    خط ۱۰۴ ، خط اول تابع هدفم هست:
    [GAMS Code]
    [Obj.. Z=e=Sum((i,j),P(i)*X(i,j)) +
    Sum((i,j),T(i,j)*(X(i,j)/V(i))) +
    Sum((i,j),H(j)*X(i,j)/2) +
    Sum((i,j),O(j)*(D(j)/X(i,j))) +
    Sum((i,j),M(i,j)*(a(i,j)*X(i,j))) ;]
    لازم به ذکر ست که متغیر تصمیم بنده X بوده و سایر مقادیر به صورت پارامتر تعریف شده اند. این ارور در حالی رخ می دهد که بنده هیچ مقدار صفری را برای آنها اختصاص ندادم.
    ممنون میشم راهنمایی بفرمایید.

  23. عیسی مخلص

    سلام عرض ادب
    من تو این برنامه تازه کار هستم میخواهم جواب یک مسأله بهینه سازی را دریافت کنم تو برنامه گمز نوشتم موقع اجرا خطاهای رخ داده که نمیدونم چطوری برطرف کنم. مثالش

      ۶۳  cost.. obj=e=sun((i,j),c(i,j)*D(i)*x(i,j)+ sum(j,y(j))*f(j);
    ****      $96             $195,96,195,96     $195,96   $195$96
      64  eq1(i)..sum(j,x(i,j))=g=1;
      65  eq2(i,j)..x(i,j)=l=y(j);
      66   
      67  model 'originalproblem /cost,eq1,eq2/
    ****        $2
      68  option optcr=o;
    ****               $1
      69  option mip=cplex;
      70  solve originalproblem minimizing obj using mip;
    ****                                                $257
      71  display obj.l, x.l, y.l;
    ****              $141 $141 $141
    GAMS 24.1.2  r40979 Released Jun 16, 2013 WIN-VS8 x86/MS Windows 06/26/19 00:58:54 Page 2
    G e n e r a l   A l g e b r a i c   M o d e l i n g   S y s t e m
    Error Messages
    
    1. محمودی

      سلام
      شما باید اولین ارور رو رفع کنین. دونه دونه. هر بار هم مجدد ران کنین. اولین ارور اینه که شما به جای sum احتمالا نوشتین sun. بعد sum رو هم نبستین. برانتز یادتون رفته. …

  24. جاویدی

    سلام، وقتتون بخیر
    من یک نوشتم ولی متاسفانه جواب بهینه صفر میشه میشه من کد رو براتون بفرستم ببینین چطوره؟

    1. محمودی

      سلام
      در صورتی که مشکل نشدنی بودن نداشته باشه، اگه صفر بشه. خودش یه گام رو به جلوه!
      احتمالا یا مدلتون صحیح نیست. یا اینکه داده هاتون مناسب نیست. باید دقیق تحلیل کنین. بنده راهنمایی ای نمیتونم بکنم

  25. مهدی بهنام نیک

    با سلام، وقتتون بخیر
    من کد یک مدل رو در گمز وارد کردم ولی در محدودیت eq1 ارور ۱۵۴ رو نشون میده. چطوری میشه این ارور رو برطرف کرد.

    Sets
    i tedad gereh moshtari /1*50/
    j tedad gereh makan tashilat /1*30/
    q /1*30/
    h /1*10/
    k /1*10/;
    Parameters
    a(i)
    p1(h)
    p2(h)
    N(i,h);
    a(i)=uniformint(5,50);
    p1(h)=uniformint(500,700);
    p2(h)=uniformint(400,600);
    N(i,h)=uniformint(0,30);
    Scalar p mahdodiate bodje /900/ ;
    Variable z;
    binary variable x1,x2,y1,y2;
    Equations
    eq_z
    eq1
    eq2
    eq3
    eq4;
    eq_z.. z=e=sum((i),a(i)*y1(i));
    eq1(i,h)$(ord(k)&gt;=ord(h)).. y2(i,h)=l=sum(j$(ord(j)=card(N)),x1(j,h))+sum((k,q)$(ord(q)=card(N)),x2(q,k));
    eq2..  p=g=sum((j,h),x1(j,h)*p1(h)+x2(j,h)*p2(h));
    eq3(j,h)..  x1(j,h)+x2(j,h)=l=1;
    eq4(i,h)..  y1(i)=l=y2(i,h);
    Model cover /all/ ;
    solve cover using mip maximizing z ;
    display z.l,x1.l,x2.l,y1.l,y2.l ;
    
    1. محمودی

      سلام
      شما تو صور عمومی این محدودیت فقط i.h رو اوردین، بعد گفتین h و k فلان رابطه رو دارن. گمزم میگه k دیگه چیه. اینو از کجا اوردی من که نمیدونم چیه!
      باید این شرط رو ببرین تو سیگما هایی که روی k بستین. اونجا باید شرط بذارین، نه اول کار
      فرضا:

      sum(k$(ord(k) .... ord(h),....
      
      1. مهدی بهنام نیک

        خیلی ممنون از راهنمایی‌تون
        مشکلم برطرف شد

  26. ناشناس

    سلام، وقتتون بخیر
    درباره ارور ۷۹۰ برای تعریف scenario dictionary چطور باید عمل کرد؟

  27. فاطمه

    با عرض سلام و خسته نباشید و تشکر بابت سایت و کمک هاتون
    من محدودیت زیر را
    ew(i)+ewb(i)≤ ۰ ∀ V(i)≤V1 or V(i)≥V3 ,i

    ew(i)+ewb(i)≤۱/۲ p ∀ V1<V(i)≤V2 ,i

    ew(i)+ewb(i)≤ ۱۵۷۰ ∀ V2<V(i)≤V3 ,i
    به این صورت فرمول نویسی کردم .
    t1(i)$ (V(i)=l=V1 or V(i)=g=V3 ..ew(i)+ewb(i)=l=0;
    t2(i)$ (V(i)=g=V1 and V(i)=l=v2) ..ew(i)+ewb(i)=l=0.5*p;
    t3(i)$ (V(i)=g=V2 and V(i)=l=v3) ..ew(i)+ewb(i)=l=1570;
    آیا درسته؟ البته خطاهای زیر رو هم داشته .
    ۸ = ')' expected.
    36 = '=' or ':=' or '$' expected.
    409 = unrecognized item-skip to find a new statement looking for ';' or key word to get started again.
    میشه تو رفع این خطاها هم کمکم کنید؟
    ممنون

  28. مهدی بهنام‌نیک

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

    eq1(h).. sum((i,j),(a(i)*x1(j,h)))+sum((i,k,q)$(ord(k)&gt;=ord(h)),(a(i)*x2(q,k)))+Ka(h)*(sqrt(sum((i,j),(vara(i)*power(x1(j,h),2))+sum((i,k,q)$(ord(k)&gt;=ord(h)),(vara(i)*power(x2(q,k),2))))=l=sum((i,j),(y2(i,h)*b(j)));
    

    در ضمن امید ریاضی و واریانس رو چطوری میشه در گمز محاسبه کرد؟

    1. محمودی

      سلام
      برا چک کردن پرانتز ها، مقداری مرتبط بنویسین. هر sum رو تو یه سطر مثلا. از منوی بالای گمز میتونین پرانتز ها رو چک کنین که کدوم بسته شده کدوم نه.
      سوال دوم: فرمولش رو بنویسین.

  29. کمال

    سلام وقت بخیر
    من هنگام اجرای گمز با دو کد خطای ۶۶ و ۲۵۶ مواجه می شوم در صورت امکان مرا راهنمایی بفرمائید.
    ;Solve LCCGE using mcp

    1. محمودی

      سلام
      یاتون باشه که:
      – هر معادله ای که داخل دستور model استفاده میشه، باید حتما اولا اسمش توی equations باشه (equation decleration) و هم فرمولش با دو نقطه نوشته شده باشه (equation specificaton).
      – هر نمادی مانند set,parameter, table که در مدل استفاده میشه باید حتما بهش از قبل مقدار دهی شده باشه.

  30. tabassom

    سلام وقتتون بخیر میشه راهنماییم کنید که کجای این برنامه باعث غیر خطی شدن اون میشه ممنونتون میشم.
    set i/1*12/;
    scalar G/600/;
    parameters
    n(i)/1 30
    2 18
    3 22
    4 21
    5 22
    6 21
    7 21
    8 13
    9 20
    10 23
    11 21
    12 20 /

    d(i)/1 3000
    2 2500
    3 4000
    4 6000
    5 8000
    6 12000
    7 15000
    8 12000
    9 10000
    10 8000
    11 4000
    12 3000/

    s(i)/1 600
    2 500
    3 800
    4 1200
    5 1600
    6 2400
    7 3000
    8 2400
    9 2000
    10 1600
    11 800
    12 600/;
    variable z;
    positive variables H(i),DP(i),k(i),X(i),O(i);

    equation
    obj
    limit1
    limit2
    limit3
    limit4
    limit5
    limit6
    limit7
    limit8
    limit9
    ;
    obj..z=e=(sum(i,H(i))*1/card(i))*30+sum(i,K(i))*15+sum(i,O(i))*10+
    (sum(i,X(i)-X(i-1))/10)*5000;
    limit1(i) ..X(i)=l=400;
    limit2(i) ..O(i)=l=80*n(i);
    limit3(i)$(X(i)*n(i)<DP(i)) ..O(i)=g=0;
    limit4(i)$((X(i)*n(i)+O(i))<DP(i)) ..K(i)=g=0;
    limit5(i)$((DP(i)/n(i))480) ..X(i)=e=480;
    limit7(i) ..H(i)=e=X(i)*n(i)+O(i)-DP(i);
    limit8(i)$(ord(i)=1) ..DP(i)=e=d(i)+s(i)-G;
    limit9(i)$(ord(i)>1) ..DP(i)=e=d(i)+s(i)-s(i-1);

    model aa/all/;
    solve aa using QCP minimizing z;
    display z.l,x.l,H.l,O.l,K.l;

      1. مریم

        سلام
        من در کدم از حلقه forاستفاده کردم که ۱۱مقدار تابع هدف مختلف به ازای تغییر یکی از پارامترهای مدل از ۱۵۰۰۰تا ۲۵۰۰۰با طول گام ۱۰۰۰بدست اومده حالا میخوام همه ی این ۱۱تابع هدف در یک پارامتر ذخیره بشن که خروجی همه در یک ستون نمایش داده بشه میشه راهنماییم کنید ممنون میشم

        1. محمودی

          سلام
          ترجیحا از loop استفاده کنین به جای for
          این مثال رو ببینید:

          set t/1*11/
          parameter a(t), zfinal(t)
          ;
          loop(t,
          a(t)=ord(t);
          solve ......... z;
          zfinal(t)=z1.l;
          );
          display zfinal
          
  31. بهرام

    با سلام
    من یک مدل دوهدفه رو کد کردم و یک بار از روش معیار جامع و یک بار هم از روش آرمانی استفاده کردم و در هر دو حالت هیچ خطایی نشون داده نمیشه اما زمانی که دستور display میزنم و run میگیرم در صفحهslt هیچ قسمتی برای display موجود نیست.
    بنظرتون مشکل کجاست؟؟

    1. محمودی

      سلام
      این یعنی مدل حل نشده. solver status و model status رو چک کنید. و چک کنید که لایسنس دارید یا خیر.

    2. مریم

      سلام .ببخشیدبدجوری گیر کردم به کمکتون نیاز دارم ممنون میشم راهنماییم کنید در کد گمزیک پارامترi,j)C) دارم که میخوام از ۰تا ۸۰با طول گام ۱۰جایگذاری کرده و مقدار تابع هدف بررسی کنم من از forاستفاده میکنم ولی چون پارامترم دو اندیس ارور میده ،زیاد در استفاده از حلقه ها وارد نیستم لطفا راهنماییم کنید

  32. علی

    سلام
    Error 97 in C:\Users\ASuS\Documents\GAMSStudio\workspace\price model.gms
    Explanatory text can not start with ‘$’, ‘=’, or ‘..’
    Error 2 in C:\Users\ASuS\Documents\GAMSStudio\workspace\price model.gms
    Identifier expected
    این ارور ها رو چ طور میشه برطرف کرد.
    ممنون میشم راهنمایی کنید

  33. مریم

    سلام

    ((sum((y,n),spp(y,n)*we(y,n)*u(y,n
    

    در این عبارت فقط u متغیر هست و بقیه پارامتر هستند اما ارور ۱۲۵ میده. اگر امکان دارد راهنمایی بفرمایید. ممنون

  34. علی

    — Job dual.gms Start 01/01/20 20:41:32 24.1.2 r40979 WEX-WEI x86_64/MS Windows
    *** Unable to open input file (RC=22) D:\???????\??????\?????? ???? ?????\dual.gms
    *** SysMsg: Invalid argument
    *** Status: Terminated due to parameter errors
    — Job dual.gms Stop 01/01/20 20:41:32 elapsed 0:00:00.000
    Exit code = 6
    سلام ، موقع باز کرد مدل از آدرس اسم مدل کلا علامت سوال میاد و خطای بالا رو میده.
    ممنون میشم جواب بدین

    1. محمودی

      سلام
      متن کد رو تو یه فایل دیگه کپی پیست کنین. اسم انگلیسی هم براش بذارین. مجددا ران کنین و نتیجه رو بگید

  35. علی

    سلام
    وقتتون بخیر
    به مدلی رو در گمز پیاده کردم که توالی تعدادی کار هست
    وقتی مدل رو حل کردم دیدم تا ۳۶ ثانیه همه کارها انجام میشه
    ولی وقتی t یا همون افق زمانی از ۵۰ به ۱۰۰ تغییر میدم جواب بهینه از ۸۴ به ۷۰ تغییر میکنه
    مشکل کجاست ؟
    چیکار باید بکنم تا این مسئله حل بشه

    1. محمودی

      سلام
      افق زمانی رو چجوری تعریف کردین؟ مشکل از مدلسازیه ظاهرا. توضیحات بیشتری بدین.

  36. الهه

    سلام من یک الگوریتم پیاده کردم تو گمز، الگوریتم بندرز، ولی یک سری ارور میده که اصلا سردرنمیارم. میشا لطفا بهم کمک کنید؟

  37. الهه

    ارور سافیکس میده رو سابپرابلم درصورتی که سابپرابلم رو بدون الگوریتم ران میکنم جواب میده

    1. محمودی

      سلام
      ارور سافیکس یعنی مثلا شما به جای x.l نوشتین x

  38. hh

    باسلام وتشکر-من یک برنامه گمز را اجرا می کنم خطای زیر را نوشته و برنامه متوقف می شود
    Exit code = 3 لطفا راهنمایی بفرمایید

    1. محمودی

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

  39. Fa

    با سلام، اگر بخواهیم محدودیت از نوع ماکس یا مین را در بین سایر محدودیتهای یک مدل بنویسیم در گمز و بخواهیم مدل خطی بماند چگونه باید نوشت؟
    به طور مثال
    (FT(i)=max x(i,q)*T(q به طوری که به ازای هر i تعریف شده باشه، یعنی در هر بار ابتدا i را عدد بگذارد و به ازای این عدد رابطه را برای q از ۱ تا انتها پیش ببرد مثلا i=1 در نتیجه (FT(1 بدست بیاید سپس i=2 و همان روند تکرار شود تا آخرین i

    1. محمودی

      سلام
      باید خطی سازی انجام بدین.
      یه روشش اینه که وقتی که FF برابر ماکسیمم این عبارات باشه، پس از تک تکشون هم بزرگتره. پس محدودیت به شرح زیر تغییر می‌کنه:

      eq(i).. FT(i)=g=x(i,q)*T(q);
      

      فقط دقت کنید که جهت تابع هدف شما طوری نباشه که مدل ترجیح بده که FT هی بزرگتر بشه. بعد این خطی سازی مدل رو حل کنین. بعد چک کنین که آیا FT برابر ماکسیمم هست واقعا یا خیر.

  40. پیمان

    سلام، عرض جدول ورودی کد نویسی من خیلی زیاد هستش و ۴۱۰ هزار واحد شده، اما بعد اجرا گمز ارور میده که عرض مجاز ۸۰ هزار واحد هست، بعضیا گفتن مشکل از لایسنس هستش؟
    نظر شما چیه؟ چیکار باید بکنم؟

    1. محمودی

      سلام
      من حقیقتش با داده های به این شکل بزرگ مستقیما کار نکردم! علت اینکه جدول شما بزرگه چیه؟ امکان فراخوانی از اکسل رو تست کردین؟

  41. t.kordi

    سلام کد گمزم با اعداد غیرواقعی اجرا میشه اما وقتی اعداد واقعی رو وارد کردم این خطا ها رو داد. لطف میکنید بگید خطای ۱۲۲ و ۱۴۸ و ۲۵۷ به چه علت رخ دادند؟
    ۱۲۲ One dimensional set expected
    148 Dimension different – The symbol is referenced with more/less
    indices as declared
    257 Solve statement not checked because of previous errors

    1. محمودی

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

  42. مهدی بهنام نیک

    با سلام و تشکر از راهنمایی‌های شما
    من مدلی را در گمز در ابعاد کوچک و متوسط اجرا کردم، اما در ابعاد بزرگ بعد از چند دقیقه exit code =3 می‌دهد. هر کاری کردم اما مشکل را نفهمیدم.
    لطفا راهنمایی کنید.

    1. محمودی

      سلام
      چند دقیقه؟
      دلایلی زیادی داره. که همشون میگن که مسئله حل نشده

      1. مهدی بهنام نیک

        بعد از حدود ۲۵ دقیقه exit code =3 میده.
        وقتی ابعاد مسئله را کمی کوچک‌تر می‌کنم، بعد از ۲ ساعت و ۱۵ دقیقه به جواب میرسه ولی در این ابعاد که کمی بزرگ‌تر از ابعاد قبلی است بعد از حدود ۲۵ دقیقه exit code =3 میده.

        1. محمودی

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

  43. مهدی بهنام نیک

    بعد از حدود ۲۵ دقیقه exit code =3 میده.
    وقتی ابعاد مسئله را کمی کوچک‌تر می‌کنم، بعد از ۲ ساعت و ۱۵ دقیقه به جواب میرسه ولی در این ابعاد که کمی بزرگ‌تر از ابعاد قبلی است بعد از حدود ۲۵ دقیقه exit code =3 میده.

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