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

15 دیدگاه

  1. raz

    با سلام
    چطور می توان در تابع هدف متغیر اندیس دار تعریف کرد؟

  2. یاوری

    سلام وقت شما بخیر
    من میخوام مدل DEA بازه ای بنویسم نمیدونم محدودیت رو چطور برای واحدها به غیر از واحد مورد بررسی بنویسم
    Yrj*Ur-Xij*Vi<0 برای هر j بغیر از واحد o
    چون بعد هم از دستور loop استفاده میشه نمیدونم چیکار باید بکنم که این محدودیت هر سری برای واحد o در نظر گرفته نشه
    با تشکر

    1. محمودی

      سلام
      شما یه j دارین، و یه jj هم بهش باید آلیاس بشه که تو Loop استفاده بشه. یه parameter به نام مثلا o تعریف کنین. و محدودیت و loop به شکل زیر در میاد.

      parameter o;
      sum(j$ord(j) ne o,........)+.....
      .
      .
      loop(jj,
      o=ord(jj);
      solve ...
      );
      
  3. A.R.M

    سلام
    خسته نباشید
    این محدودیت رو چطوری میتونم بنویسم؟؟
    xiI = minj {xij}; i = 1, . . . ,m
    در واقع یه table دارم که میخوام مینیمم هر سطرش رو بهم بده
    (table x(i,j
    6 5 4 3 2 1
    2.5 20 18 10 2 2 1
    ;6 8 8 5 15 6 2

      1. A.R.M

        ببینید من تو تابع هدف یه پارامتر دارم که از دو تا فرمول به دست میاد
        میخوام بدونم که فرمولش رو باید تو قسمت پارامتر نوشت یا تو قسمت محدودیت ها؟؟
        باید تو پارامتر ها تعریفشون کنم یا تو قسمت متغییر ها؟؟
        دو تا فرمولا ایناست:

        maxi {(xip - xiI) / |xip| , xip mokhalef 0 ; i = 1,...,m} = θp
        

        که xiI از فرمول زیر به دست میاد:

        xiI = minj {xij} ; i = 1,...,m
        

        من خودم فکر میکنم که xip و xiI باید تو پارامتر نوشته شه و فرمول xiI هم باید تو قسمت پارامتر آورده بشه
        تتا پی باید تو متغیر نوشته شه و فرمولش تو محدودیت ها

        1. محمودی

          سلام
          tetaP رو من نمیدونم چرا نوشتین دقیقا. و مفهوم اون مساوی چیه.
          کلا اینو یادتون باشه، تو تحلیل پوششی داده ها x و y (که بیشتر استفاده میشن) هر کاری روشون انجام بشه، بازم پارامترن.
          الان دو تا راه دارین، اول اینکه به صورت پارامتر تعریف کنین و نهایتا تا قبل از loopی که می نویسین مقدارش رو با تابع smax یا smin به دست بیارین.
          یا اینکه داخل loop اینکارو انجام بدین. loop رو به این خاطر میگم که شاید شما سوال رو واضح نپرسیدید.
          باید تشخیص بدین کدومشه.

  4. A.R.M

    سلام مجدد
    ممنون بابت جوابتون
    این تابع هدف هست

    ((z=e=1-1/2*(1/m*sum(i,teta(i)/tetabarp)+1/s*sum(r,fi(r)/fibarp
    

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

    1. محمودی

      کد، مدل و مقاله بیس رو ارسال کنین. اگه وقت شد چشم.

  5. A.R.M

    سلام
    من یه سوال دیگه برام پیش اومد
    اگه بخوام واحدهای کارا یا به عبارتی واحدهایی که مقدار کارایی یا همون z شون یک شده رو رتبه بندی کنم محدودیتا چطوری میشه؟
    مثلا واحد سوم و پنجم مقدار کاراییشون یک شده
    حالا میخوام این دو تا رو رتبه بندی کنم و مقدار کاراییشون رو به دست بیارم
    اگه بخوام کارایی واحد سوم رو به دست بیارم باید محدودیت مربوط به واحد سوم حذف شه دیگه درسته؟
    اینطوری؟

    ;((eq1(i)..     sum(j$(ord(j) ne 3),landa(j)*x(i,j))=l=xp(i)+teta(i)*abs(xp(i
    ;((eq2(r)..     sum(j$(ord(j) ne 3),landa(j)*y(r,j))=g=yp(r)-fi(r)*abs(yp(r
    ;sum(j,landa(j))=e=1
    
    1. محمودی

      سلام
      یه مقاله بود که در این باره یک روش رو ارائه داده بود. متاسفانه الان حضور ذهن ندارم معرفی کنم خدمتتون. اینی که نوشتین از لحاظ کدینگ درسته ولی از لحاظ مفهومی اطلاعی ندارم ازش.

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