Error 170: Domain violation for set

سوال از جانب خانم سونیا: سلام. خطای Domain violation for set به چه خاطر داده می‌شه؟ یعنی در تعریف یک مجموعه اشتباه کردم؟

پاسخ به سوال خانم سونیا: این خطا به این معنیه که شما برای یکی از مجموعه هاتون دامنه ای (همون اعضا) تعریف کردین ولی موقع استفاده از این مجموعه تجاوز کردین. شکل زیر رو مشاهده کنین:

Domain violation

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

 

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

10 دیدگاه

  1. علی

    سلام
    خسته نباشید
    با تشکر از سایت خوبتون
    من با یک سری ارور مواجه شدم با شماره های ۶۱۰ و ۱۷۰
    اگه بتونید توضیح بدید باید چیکار کنم ممنون میشم.

    1. محمودی

      سلام
      برای ارور ۱۷۰ مث همین تاپیک که کامنت گذاشتین عمل کنین. حداقل مطالعه میکردین تاپیک رو.
      ارور ۶۱۰ رو هم لطفا پیامش رو بنویسید ببینم چی میگه.

  2. علی

    شرمنده من بعدش ۱۷۰ رو دیدم
    ۶۱۰ at least one embedded value required

    1. محمودی

      این ارور واضح نیست خیلی. ارورهای قبلی رو رفع کنین. اگه این برطرف نشد، کد رو ایمیل کنین برامون. ببینم مشکلش چی هست

  3. fazilat

    سلام ممنون از سایت خوبتون
    کدی که دارم روی محدودیت ها جایی که j1 و j2 دارم ارور domain violation for set میده و من متوجه اشتباهم نمیشم، ممنون میشم کمکم کنین:

    sets
    r/1*2/
    i/1*2/
    k/1*4/
    j1/1,2,3,6/
    j2/4,5,7,8/
    q/set.j1,set.j2/
    ;
    scalar
    RR/500/
    ep1/0.05/
    ep2/0.01/
    ;
    parameter
    E(i)/1   81.965
         2   2296/
    
    dmpss(q)/1       1952
             2       1952
             3       1952
             4       944
             5       944
             6       1952
             7       944
             8       944/
    g(q)/1   1952
         2   631
         3   1334
         4   904
         5   944
         6   205
         7   438
         8   631/
    d(q)/1   86
         2   10
         3   9
         4   100
         5   34
         6   10
         7   47
         8   36/
    ;
    table y(r,q)
             1       2       3       4       5       6       7       8
    1        1740    539.1   938.3   559.2   553.5   187.8   228.4   301.4
    2        254     152     185.3   104     120.3   45.2    47.9    72
    table f(i,q)
             1       2       3       4       5       6       7       8
    1        19569   4867    14570   10211   10408   1584    4388    8917
    2        504     105     478     218     354     29      187     213
    ;
    
    variables
    Z
    dg(q)
    dd(q)
    dy(r,q)
    df(i,q)
    
    positive variable
    landa(q,q)
    df(i,q)
    
    equations
    OBJ
    C1(q)
    C2(q)
    C3(q)
    C4(q)
    C5(i,q)
    C6(i,q)
    C7(r,q)
    C8(r,q)
    c9(q)
    c10(q)
    C11
    C12(i)
    C13(q)
    C14(q)
    C15(q)
    ;
    OBJ               .. Z=e=sum((q,r),dy(r,q))-ep1*sum((q,i),df(i,q))-ep2*sum((q,r),dy(r,q)/y(r,q));
    C1(q)             .. sum((j1),landa(j1,q)*g(j1))=l=dg(q);
    C2(q)             .. sum((j2),landa(j2,q)*g(j2))=l=dg(q);
    *C1(i,q)           ..sum((j(i),landa(j(i),q)*g(j(i))=l=dg(q)
    C3(q)             .. sum((j1),landa(j1,q)*d(j1))=l=d(q)+dd(q);
    C4(q)             .. sum((j2),landa(j2,q)*d(j2))=l=d(q)+dd(q);
    C5(i,q)           .. sum((j1),landa(j1,q)*f(i,j1))=l=df(i,q);
    C6(i,q)           .. sum((j2),landa(j2,q)*f(i,j2))=l=df(i,q);
    C7(r,q)           .. sum((j1),landa(j1,q)*y(r,j1))=g=y(r,q)+dy(r,q);
    C8(r,q)           .. sum((j2),landa(j2,q)*y(r,j2))=g=y(r,q)+dy(r,q);
    c9(q)             .. dd(q)$(d(q)>dmpss(q))=e=0;
    c10(q)            .. d(q)+dd(q)$(d(q)<dmpss(q))=l=dmpss(q);
    C11               .. sum((q),dd(q))=e=RR;
    C12(i)            .. sum((q),df(i,q))=l=E(i);
    C13(q)            .. sum((j1),landa(j1,q))=e=1;
    C14(q)            .. sum((j2),landa(j2,q))=e=1;
    C15(q)            .. dd(q)=l=0.3*d(q);
    
    model Project /all/;
    Option LP=lindo;
    solve Project using LP maximizing Z;
    display Z.l,dg.l,dd.l,df.l,dy.l;
    
    1. محمودی

      سلام
      مشکل اینجاست که j1,j2 باید زیر مجموعه q باشند. نه اینکه اجتماع اون دو تا بشه همون q.
      این مطلب رو بخونین.

  4. Sina

    سلام…من می خوام تو قسمت محدودیت ها اینکه هر کدوم از اندیس ها عضو مجموعه هستند رو تعریف کنم؛ یعنی سور عمومی روی i نیست بلکه روی مجموعه ای از i هست…این عضو بودن اندیس رو نمیدونم چجوری داخلِ پرانتز بیارم؟

    1. محمودی

      سلام
      اگه منظورتون از اینکه “روی مجموعه ای از I هست” اینه که مثلا زیر مجموعه ش باشه، کافیه یه مجموعه دیگه به اسم مثلا i1 تعریف کنین، و تو صور عمومی به جای i فقط بنویسین i1و تو فرمول ها هم همینو رعایت کنید. فقط دقت کنید که i1 باید به صورت زیر مجموعه تعریف بشه. (اینجا رو بخونید)

    1. محمودی

      سلام
      شما یه تابع (مثلا لگاریتم) رو تعریف کردین، که ممکنه داخلش صفر تولید بشه. و گمز به شما به همین خاطر ارور داده. میتونین یه مقدار کوچیک به x اضافه کنین که مشکل رفع بشه.

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