۶۶

پرسش و پاسخ مهندسی برق

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

66 دیدگاه در “پرسش و پاسخ مهندسی برق

  1. سلام و خسته نباشید
    میخام واسه پروژم چن تا شبکه برق رو که باهم تبادل توان دارند شبیه سازی کنم،و تابع توان و هزینه رو برای هر شبکه به طور جداگانه در نظر بگیرم(به عنوان توابع هدف)
    اگه تعداد این توابع مثلا هفت هشت تا بشه
    در نهایت حلش خیلی سخت میشه یا مثل مسئله ای با ۳تا تابع هدف حل میشه…

    • سلام
      در حالت کلی حل مساله چند هدفه با بیشتر از ۳ تابع هدف سخت می باشد
      مخصوصا برای رسم سطح پرتو دچار اشکال می شود مقاله زیر را م یتوانید مطالعه کنید
      https://pdfs.semanticscholar.org/63dd/ea17dbecfc43042d6ddc15803824e35cfab9.pdf

      نکته اول :‌ شما می توانید آلودگی را به هزینه تبدیل کنید و با هزینه جمع نمایید

      ۲- اگر شما در مساله قصد دارید دیسپچ بهینه واحد ها را طوری تعیین کنید که هزینه شبکه ۱ را کمینه کنید این مساله به افزایش هزینه بقیه شبکه ها منجر می شود
      چرا هزینه همه شبکه ها را با هم جمع نمی کنید ؟‌ (دفت کنید که شما به عنوان نهاد مرکزی در حال بهینه کردن همه واحد ها هستید و آنها را کنترل می کنید پس هزینه کل برای شما باید مهم باشد

  2. سلام خدمت جناب دکتر سرودی و خیلی ممنونم بابت کتاب خوبتون

    آیا در حل مسﺋله ی bi-level در نرم افزار گمز میشه قیدهای سطح پایین مسﺋله غیر خطی و غیر محدب باشند( به طور مثال رابطه ی جریان گاز طبیعی عبوری از خط)؟
    هدف تبدیل کردن مسﺋله ی دوسطحی به تک سطحی نیست و قصد داریم با خود حل کننده ی نرم افزار گمز مسﺋله دوسطحی حل شود

  3. با سلام.خیلی ممنون از سایت خوبتون،همچنین از همکاری جناب آقای دکتر سرودی با گمزبوک بسیار خوشحالم.
    جناب آقای دکتر سرودی،
    ضمن عرض ادب و احترام،
    بنده روی GEP کار می کنم.برای در نظر گرفتن عدم قطعیت توان بادی، چیزی نزدیک به ۵۰۰۰ سناریو برای توان بادی دارم که میخوام با استفاده از SCENRED اونها رو کاهش بدم. بعد از خوندن help گمز،متاسفانه نتونستم طرز استفاده SCENRED رو یادبگیرم.و کدم رو با سناریو های کاهش یافته مقاله بیسم ،دارم پیش میبرم. خواستم بگم که فایل آموزشی چیزی هست که بشه سریع طرز استفاده از این ابزارو یاد گرفت؟؟قبلا هم آقای محمودی گفته بودن که در حال تهیه یک ویدئوی آموزشی هستند که متاسفانه آماده نشده.امیدوارم که پاسخ امیدوار کننده ای از شما یا سایت گمزبوک شنیده بشه.چون فکر کنم ،کسایی که در استفاده ازSCENRED دچار مشکل هستند،افراد کمی نیستن. نکته دیگه اینکه، با توجه محدودیت زمانی که دارم(برای دفاع در این ترم تا اخر بهمن)،اگه بجای کاهش سناریو،از همین سناریوهای کاهش یافته مقاله بیسم استفاده کنم،تاثیر منفی روی نمره پایان نامه ام داره؟؟اگه داره، تاثیر قابل توجهی هست؟؟ممنون از لطف شما.

  4. سلام آقای دکتر ،
    در صورت امکان درباره معادلات SOCP در گمز‌ و خطی کردن معادلات Norm 2 درصورت امکان توضیح دهید …ممنوونم

    • برای مثال

      Set       n / n1*n10 /;
      Parameter d(n), a(n), l(n), u(n);
      Scalar    b;
      
      d(n) = uniform(1,2);
      a(n) = uniform (10,50);
      l(n) = uniform(0.1,10);
      u(n) = l(n) + uniform(0,12-l(n));
      
      Variables x(n);
      x.l(n) = uniform(l(n), u(n));
      b      = sum(n, x.l(n)*a(n));
      
      Variables t(n), z(n), obj;
      Equations defobjc, defobj, e1, e2(n), coneqcp(n), coneperfect(n), conenlp(n);
      
      defobjc..          sum(n, d(n)*t(n)) =e= obj;
      defobj..           sum(n, d(n)/x(n)) =e= obj;
      e1..               sum(n, a(n)*x(n)) =l= b;
      coneqcp(n)..       t(n)*x(n) =g= 1;
      e2(n)..            z(n) =e= sqrt(2);
      coneperfect(n)..   2*x(n)*t(n) =g= sqr(z(n));
      
      Model cqcp     /defobjc, e1, coneqcp/;
      Model cperfect /defobjc, e1, e2, coneperfect/;
      Model orig     /defobj, e1/;
      
      t.lo(n) = 0;
      x.lo(n) = l(n);
      x.up(n) = u(n);
      
      Option qcp=cplexd;
      Solve cqcp min obj using qcp;
      Option qcp=mosek;
      Solve cperfect min obj using qcp;
      Solve orig min obj using nlp;
      
  5. سلام آقای دکتر
    ممنون بابت سایت و کتاب خوبتون
    من یه مدل سه هدفه رو با روش محدودیت اپسیلون دارم کدمیکنم.
    طبق مثال کتاب خودتون دو هدفش رو انجام دادم
    واسه تبدیل به سه تابع هدف مشکل دارم،آیا فایلی مثالی هست که بتونم سه تابع هدف رو طبق اون انجام بدم؟توضیحاتش رو خوندم اما بلد نیستم کدش کنم
    ممنون میشم راهنمایی کنید.
    و اینکه این روش محدودیت اپسیلون تا چه تعداد تابع هدف رو میتونه پاسخگو باشه؟
    برای کد کردن بیش از سه تابع هدف از چه روشی استفاده کنم؟
    خیلی ممنون

    • سلام
      فرض کنید سه تابع هدف دارید و قرار است همه را ماکزیمم کنید
      ابتدا ۳ بار باید مساله را جل کنید
      ۱-
      max OF1
      این مساله مقدار بیشینه of1 , نیز مقادیری برای of2,3 به شما می دهد
      ۲-
      max OF۲
      این مساله مقدار بیشینه of۲ , نیز مقادیری برای of۱,۳ به شما می دهد
      ۳-
      max OF۳
      این مساله مقدار بیشینه of۳ , نیز مقادیری برای of2,۱ به شما می دهد

      از این سه مساله شما بازه تغییرات هر سه تابع هدف را دارید

      حالا دو حلقه باید تعریف کنید که حد پایین of1,2 را تغییر دهد و of3 را ماکزیمم کنید

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

  6. سلام
    ببخشید ضرایب تابع لاگرانژ که در بهینه سازی در گمز اجرا می شود را چطور می توان از نتایج نهایی پیدا کرد ؟
    برنامه حداقل سازی هزینه برای پیدا کردن تراکم خطوط دارم و به دنبال ضریب لاندا که در تابع بهینه سازی هست ،،هستم ( منظور از ضریب لاندا ، ضریب قید در تابع لاگرانژ است )
    از توجه شما ممنونم

  7. سلام جناب دکتر سرودی
    ممنون از وقتی که در اختیار ما قرار میدید ،در صورت امکان درباره مدل سازی عدم قطعیت منابع بادی در گمز‌ میشه توضیح مختصری بفرمایید .
    ممنون میشم …

  8. سلام جناب سرودی ،
    جسارتا میخواستم بدونم اگر یه بهینه سازی‌ Bi-level داشته باشیم ،‌ بطوریکه سطح اول برنامه ریزی و سطح دوم بهره برداری باشد ،‌و در قیود ارتباط دهنده دوسطح یک قید تپ چنچر بصورت (Dommy Binary)
    داشته باشیم ، الزاما مسئله رو سه سطحی میکنه ؟ مثلا بجای روش CCG باید از Nested CCG استفاده کنیم یا نه ؟ نیاز به دوگان قید باینری هست ؟
    ممنون میشم توضیح بدید – و ممنون از لطف شما

    • در مسایل bilevel همیشه متغییر ارتباط دهنده دوسطح داریم
      چرا می فرمایید ۳ سطحی ؟
      در حالت کلی باید شرایط kkt را نوشته و تک سطجی کنید
      جال ممکن است برای سهولت حل از روشهای تکراری مثل بندرز استفاده کنید (مخصوصا برای متغییر های باینری)

  9. با سلام

    آقای دکتر در صورت امکان، در مورد قید حفظ پیوستگی و شعاعی بودن شبکه توزیع بعد از بازآریی به غیر از استفاده از گراف و ماتریس در نرم افزار گمز راهنمایی بفرمایید.

  10. سلام آقای دکتر
    امکان داره تو سایت یه آموزش در مورد پیاده سازی روش لاگرانژ برای آزاد سازی قیود تو مسائل بهینه سازی بذارید؟ یا یه مرجه خوب برای این موضوع پیشنهاد بدید؟-مثلا تو مسائل bi-level-
    کتاب تون بسیار عالی تون رو مطالعه کرده ام اما در مورد روش لاگرانژ مطلب زیادی نیست
    تشکر

  11. سلام
    بهینه سازی سه هدفه به روش اپسیلون انجام دادم،الان انتخاب جواب بهینه به عهده تصمیم گیرندس یا مثل دو هدفه فرمول داره؟

  12. سلام جناب دکتر سروردی،
    اگر در یک مساله Bi-level که بصورت برنامه ریزی و بهره برداری است، در قسمت قیود بهره برداری قید باینری داشته باشیم، و نیاز به تئوری دوگان داشته باشیم از قیود بهره برداری، از قیود باینری چگونه میتوان دوگان گرفت ؟ آیا امکان هست چنین چیزی ؟
    خیلی خیلی ممنون از وقتی که در اختیار ما دانشجوها قرار میدید ..

  13. سلام و وقت‌بخیر
    مدل سازی سه هدفه با روش محدودیت اپسیلون انجام دادم،داخل جواب‌ها،جواب تکراری هم وجود داره و همچنین مقادیر توابع هیچ ترتیب صعودی یا نزولی وجود ندارند.
    آیا باید همواره جواب ها باید دارای ترتیب صعودی یا نزولی و بدون تکرار باشند؟ یا این قضیه برقرار نیست اصلا

  14. سلام جناب دکتر
    در صورت امکان درباره بهینه سازی با روش Distributed Robust Optimization مرجعی برای یادگیری یا کددهی در گمز لطف میکنید ؟
    ممنونم جناب دکتر

  15. سلام آقای دکتر
    وقتتون به خیر،
    اگر بخوام در گمز یا بطور کلی،دو یا چند شبکه ۳۳ باسه رو به هم وصل کنم و یک گرید در نظر بگیرم، چه کار باید کنم ؟
    میشه راهنمایی کنید .
    خیلی ممنون از لطف شما

  16. با سلام خدمت آقای دکتر سرودی و تشکر بابت وقتی که به پاسخ ها اختصاص می دهید.
    در باره برنامه ریزی تصادفی (stochastic programming) سوال دارم.
    هنگام سناریوسازی با استفاده از شبیه سازی مونت کارلو از مقادیر پیش بینی شده (forcasted)، به چه ورودی هایی نیاز داریم؟
    در اینصورت لازم است تابع توزیع نرمال را از بدست بیاوریم؟
    برای مثال، تولید سناریو (scenario generation) برای قیمت برق به چه صورت است؟
    بابت وقتی که می گذارید پیشاپیش ممنون شما هستم.

    • سلام
      شما با استفاده از داده گذشته باید بتوانید تابع توزیع احتمالی برای داده (مثلا قیمت بازار) خود فیت کنید
      زمانی که شما تابع توزیع را داشه باشید تولید سناریو آسان خواهد بود
      می توانید با آن تابع توزیع، عدد تصادفی تولید کنید

  17. با سلام
    من یه مساله Bilevel با دو فالور دارم
    در لول بالا میخام هزینه بهره برداری رو حداقل کنم و در لولهای پایین سودهایی رو حداکثر کنم
    برای حل توسط Kkt conditions
    از emp استفاده کردم
    خروجی هایی دارم منتهی این Warning رو هم دارم
    ** Warning ** The variance of the derivatives in the final
    point is large (= 4.3 ). A better scaling or
    better bounds on the variables will probably
    help the optimization.
    و اینکه دو تا متغییر باینری هم در مدل سازی دارم منتهی تمام خروجی های این متغییر ها باینری نیست؟
    چیکار کنم؟ آیا مدلسازی و سالور ام غلط است؟

  18. ضمن تشکر از جناب آقای دکتر سرودی بابت پاسخ دهی به سوال مطرح شده.
    من یک سوال دیگری داشتم در رابطه با مساله بای لول
    با فرض اینکه یک مساله داریم که میخواهیم در لول بالا تابعی به شکل ” ax+by ” را min
    و در لول پایین تابع ” cx+dy ” را min کنیم
    در صورت حذف شدن یکی از ترم های لول بالا مثلا ” by ”
    آیا مساله از حالت بای لول خارج شده و یک سطحی می شود؟
    با توجه به اینکه x و y متغییرهای تصمیم ما در هر دو لول هستند و بین این دو سطح رد و بدل می شود؟

  19. سلام آقای دکتر سرودی
    ممنون بابت وقتی که در اینجا می گذارید و همچنین بابت کتاب خوبتون
    برای حل مسئله پخش بار AC بمنظور مینیمم کردن هزینه های تولید برای یک سیستم ۳ شینه با یک ژنراتور (در شین ۳) و دو بار (در شین ۲ و ۳) کد زیر رو نوشتم ولی جواب شدنی نمیشه و علت آن این است که توان عبوری (PL) بین دو شین صفر است. لطفا ایراد کد و علت صفر شدن PL (توان عبوری بین خطوط) را بفرمایید.
    با تشکر

    ایراداتی که در جواب این کد می آید بشرح زیر است:
    ۱) An equation in the pre-triangular part of the model cannot be solved because the critical slack is at a bound.
    2) The number of nonlinear derivatives equal to zero in the initial point is large (= 25 percent). A better initial point will probably help the optimization.
    3) Infeasibility in pre-triangular part of model.
    4) Equation Eq02(2,24,ln1) has been solved with respect to the slack After the last operation the residual is still 0.0006.

    GAMS Code
    Sets
    i Indices of buses/1*3/
    l Index of lines /ln1*ln2/
    t Index of time/1*24/
    ;

    Alias(i,j);

    Scalars
    cD /2/
    cG /0.1/
    Slack /1/
    ;

    table BD(l,*) Bus data
    bs br R X PDemand pGmax
    ln1 1 2 0.117 0.3867 0.0006 0
    ln2 2 3 0.4446 0.1469 0.0002 0.03
    ;

    Variables
    pD(i,t)
    pG(i,t)
    OF
    g(i,j)
    b(i,j)
    pL(l,t)
    v(i,t)
    theta(i,t)
    ;

    pG.lo(i,t)=0;
    v.lo(i,t)=0.95;
    v.up(i,t)=1.05;

    Equations
    hadaf
    Eq01
    Eq02
    Eq03
    Eq04
    Eq05
    Eq06
    Eq07
    Eq08
    ;

    hadaf..OF=e=sum((i,t),(-cD*pD(i,t))+(cG*pG(i,t)));

    Eq01(i,j,t)..pG(i,t)-pD(i,t)
    -sum(l$(ord(i)=BD(l,’bs’) and ord(j) = BD(l,’br’)),pL(l,t))
    +sum(l$(ord(i)=BD(l,’br’) and ord(j) = BD(l,’bs’)),pL(l,t))
    =e=0;

    Eq02(i,t,l)$(BD(l,’br’)=ord(i))..pG(i,t)=l=BD(l,’pGmax’);

    Eq03(i,t,l)$(BD(l,’br’)=ord(i))..pD(i,t)=e=BD(l,’PDemand’);

    Eq04(i,j,l)$(BD(l,’bs’)=ord(i) and BD(l,’br’)=ord(j))..g(i,j)=e= BD(l,’R’)/(sqr(BD(l,’R’))+sqr(BD(l,’X’)));

    Eq05(i,j,l)$(BD(l,’bs’)=ord(i) and BD(l,’br’)=ord(j))..b(i,j)=e=-BD(l,’X’)/(sqr(BD(l,’R’))+sqr(BD(l,’X’)));

    Eq06(i,j,t,l)$(BD(l,’bs’) = ord(i) and BD(l,’br’) = ord(j))..pL(l,t) =e= (-g(i,j) * sqr(v(i,t))+v(i,t) * v(j,t) * (g(i,j) * cos(theta(i,t)-theta(j,t))+ b(i,j) * sin(theta(i,t)-theta(j,t))));

    Eq07(i,t)$(ord(i)=Slack)..theta(i,t) =e= 0;

    Eq08(i,t)$(ord(i)=Slack)..v(i,t) =e= 1;

    Model ABC/
    hadaf
    Eq01
    Eq02
    Eq03
    Eq04
    Eq05
    Eq06
    Eq07
    Eq08
    /;

    solve ABC using NLP minimizing OF;

  20. با سلام،
    من میخوام تقاضای حرارتی ۱۰خونه رو برای بازه۴۸ تایی تعریف کنم؛مثلا بگم تقاضای حرارتی خونه اول در بازه اول ۱٫۸، تقاضای حرارتی خونه دوم تو بازه اول ۱٫۴ و تاآخر.
    [css]
    Table E(j,t,*)
    Dh
    j1.t1 1.8
    j2.t1 1.4
    j3.t1 1
    j4.t1 2
    [css]
    به این شکل بنویسم کد طولانی میشه راهی برای خلاصه کردن وجود داره؟

  21. سلام جناب دکتر سرودی ارجمند
    برنامه من یک مدل دو سطحی که از روش KKT و دوگان تک سطحی و خطی شده و نتیجه MIP شده رو با solver ceplx حل کردم
    یک بار که قیود مساله م کمتر **** MODEL STATUS 8 Integer Solution این وضعیت رو نشون میده
    یک بار هم که یه سری قیود به مساله اضافه میشه **** MODEL STATUS 1 Optimal این وضعیت نمایش داده میشه
    کلا مدل تک سطحی و خطی شده MIP هست در هر دو حالت وضعیت مدل با این توصیفات درست هست در ر دو حالت؟

  22. سلام استاد سرودی ارجمند.

    من فارغ التحصیل ارشد برق قدرت دانشگاه آزادم.
    وحدود سه سال در زمینه بهبود الگوریتم های فرا ابتکاری در سیستم های قدرت نظیر جایابی جبرانسازها، بازآرایی، ED و… کار کردم. همچنین الگوریتم PSO را بهبود دادم و مساله ED رو باهاش حل کردم و در ژورنال Applied soft computing ریوایز خورده.
    تمامی موارد بالا رو با کدنویسی در نرم افزار متلب انجام دادم.

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

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

    ۱- آیا تصمیمی که گرفتم در جهت کوچ از فراابتکاری و متلب به سوی گمز درست هست؟
    ۲-آیا برای من که بیس ریاضی قوی ندادم، یادگیری گمز راحته؟ چونکه میخوام دکتری اپلای کنم قطعا باید مقالات خوبی را انجام بدم و خواستم مطمئن بشم که با توجه به سطح ضعیف ریاضیم در اثبات فرمول و… به مشکل برنمیخورم.

    ۳-گمز رو سریع میشه یادگرفت؟ چه رفرنسی را پیشنهاد میدین که خیلی کاربردی آموزش داده باشه؟

    ۴-اگر پیشنهادی دارید ممنون میشم راهنمایی کنید با توجه به توضیحاتم.

    پیشاپیش از محبتت ممنونم.

    • ۱- بلی درست است
      ۲-هیچ کاری راحت نیست اگر دنبال کار راحت هستید راحت ترین کار هیچ کاری نکردن است
      ۳-بلی می شود سریع یاد گرفت
      یک مثال را با گمز حل کنید (هر مثالی ) یاد می گیرید
      ۴-توصیه می کنم کار کنید

  23. با سلام من یک سوالی داشتم در رابطه با شرایط kkt…
    بعد از نوشتن قیود kkt و قیود Complementary slackness آیا حتما باید این قیود توسط روشهایی مثل Big-M خطی شود؟
    آیا نمیشود با MINLP حل کرد؟

  24. سلام آقای دکتر_ وقتتون به خیر
    یه مدل ۳۳ باسه دارم که معادلات پخش بار Ac رو بدون خطی کردن و با سالور MIQCP=CPLEX حل میکنم و جواب میگیرم، ولی وقتی سیستم ۱۱۸ باسه رو وارد میکنم به مشکل INTEGER INFEASIBLE برمیخورم_ آیا نیاز به خطی کردن قید SOCP هست ؟

      • در ۱۱۸ باسه این جواب رو میده:
        S O L V E S U M M A R Y
        MODEL ADN1 OBJECTIVE
        TYPE MIQCP DIRECTION MINIMIZE
        SOLVER CPLEX FROM LINE 793
        **** SOLVER STATUS 1 Normal Completion
        **** MODEL STATUS 10 Integer Infeasible
        **** OBJECTIVE VALUE NA
        RESOURCE USAGE, LIMIT 17.047 1000.000
        ITERATION COUNT, LIMIT 1714 2000000000
        EVALUATION ERRORS NA 0
        و در قسمت سالور هم آپشن ها رو اینجوری تنظیم کردم :
        MODEL ADN1 /ALL/;
        Option MIQCP = CPLEX;
        Option sysout=on ;
        Option optca=0;
        Option threads=5;
        option optcr=0;
        Option reslim=20000000;
        Option iterlim=20000000;
        Option limrow=100;
        Option limcol=100;
        SOLVE ADN1 USING MIQCP MINIMIZING Z;
        و همه جواب ها داخل ۱۱۸ باسه صفر میشوند ولی ۳۳ باس به جواب کامل و بهینه میرسه .بهینه سازی بصورت یک مدل bi-level بوده و یکسری متغیر ارتباط دهنده دو سطح(operation & planning) دارم که از نوع اینتیجر هم دارم…مشکل از لایسنس های کرک شده گمزی که در ایران استفاده میکنیم نیست احیانا؟
        ممنون از لطفتون آقای دکتر .

        • اصولا با تغییر کیس نباید مشکلی ایجاد شود
          باید تمامی قید ها را تک تک چک کنید و ببینید ایراد از کجاست
          بدون شک برای کیس جدید فرضیاتی داشته ایذ که در کیس قبلی وجود نداشته اند
          مثلا vbase sbase حدود خطوط و ….

  25. با عرض سلام جناب دکتر سرودی
    در یک سیستم IEEE 118 باسه، دو مداره بودن خطوط را در جدول Branch(bus,node,*) ایراد میگیرد. حتی در صورتیکه ایندکسی مانند L برای خط قبل از Bus,node میشود بصورت : L,Bus,node,*)) ، بازهم ایراد میگیرد. برای رفع ایراد راه حلی وجود دارد یا باید از فرمول خطوط دومداره آنها را یکی کرد ؟
    ممنون از لطف شما

  26. ممنون از لطف شما ،
    ارور ۱۴۹ گمز رو بهم میده ؛
    من داخل branch و parameter ،اندیس L رو تعریف کردم _ولی بازم ارور میده بهم ،این اندیس L باید دقیقا کجا اضافه بشه ؟ داخل Branch ? Conex ؟ Pij ؟

پاسخ دهید

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