47 دیدگاه

  1. حسن وجدانی

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

  2. فرزاد

    با سلام و خسته نباشید خدمتتون ، دانشجو برق قدرتم ، حقیقتش قراره یک شبکه ۳۳باسه رو در ۲۴ ساعت ازش پخش بار بگیرم با توجه به معلومات ، که شامل : باس های dg ، باس اسلک ، ادمیتانس خطوط و … هست ، دکتر سرودی فایل کد نوشته شده برای شبکه ۵باسه رو دیدم ولی حقیقت کار بنده کاملا متفاوته ، خواسم بدونم میتونین راهنماییم کنین ؟
    با تشکر

  3. فرزاد

    با سلام و خسته نباشید
    دکتر بنده قراره با توجه ب تولید آلایندگی بهینه سازی کنم هزینه خرید برق از چنتا نیروگاه رو ، بعد برای تولید هر کیلووات برق ما ی میزان هزینه برا خرید داریم و ی میزان هزینه ب ازای آلایندگی و تا ی مقدار خاصی از تولید میزان هزینه آلایندگی ثابته و بعد از اون مقدار قیمتش بیشتر میشه ، با چ دستوری باید بنویسمش دکتر ؟ مثالی در این باره دارین ؟

    1. یک تابع برای هزینه آلودگی بر اساس میزان تولید بنویسید و اون رو بهینه کنید
      مثال هم زیاده مثلا تو کتابخونه گمز

    2. پوریا

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

      1. محمودی

        سلام
        اینا خروجی های گمز یک مدل حل شده هستن. وقتی اینا رو نشون نده، دلیلش اینه که یا مدل حل نشده، و یا اینکه با استفاده از option ها شما خودتون دستور دادین که اینا رو نشون نده.
        پیام هایی که به شما داده رو چک کنین. هم تو پنجره process window هم تو solution report بخش summary report

  4. احسان سهرابی

    سلام.میخواستم ببینم چطور میشه اعداد و عبارت‌های مختلط رو برای برنامه Gams تعریف کرد؟

  5. آزادی

    با سلام و خسته نباشید.
    ببخشید من یه مسئله ایی دارم که برای هماهنگی رله های حفاظتی است. میخوام شاخصی به i تعریف کنم که مشخص کننده شماره رله است و همچنین شاخصی به اسم j تعریف کنم که مشخص کننده رله پشتیبان است. مشکلی که دارم اینه که نمیدونم چطوری به نرم افزار بفهمونم که مثلا اگر i برابر ۲ باشد اونوقت j فقط میتواند عبارات ۵ و ۶ را بگیرد. یعنی مقدار j به مقدار i بستگی داشته باشد.
    ممنون میشم کمک کنید.
    با تشکر

  6. amir

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

    1. با سلام
      با سلام، ممنون.
      مطلبی که بیان کردید را آشنایی دارم اما مقادیر برای هر لوله و شبکه می تونه متفاوت باشه. الان دو نکته مطرح هستش: ۱) اعداد درست و دقیق چی هستن و ۲) علت عدم حل مسئله شما چیست.
      در خصوص اطلاعات دقیق خوب میشه مقالات را سرچ کرد و حتما در اینترنت اعدادی پیدا میشه اما باید برای شبکه شما معادل سازی بشه. اما بخش دوم ربطی به درست بودن اعداد نداره و نشان دهنده عدم همخوانی اطلاعات و معادلات هستش. اگر برنامه نوشته شده با حذف تنها امکان ذخیره سازی قابل اجرا هستش پس باید مشکل را ریشه یابی کنید. ابتدا معادله ای که باعث غیر قابل حل شدن میشه را پیدا کنید به شکلی که با اضافه کردن یکی یکی معادلات ذخیره سازی گاز در طول لوله ببینید کی حل مسئله مشکل پیدا میکنه. البته اگر مدل خطی هست حل کننده هایی مثل CPLEX به شما موقعیت دقیق مشکل را آدرس میدن که می تونه مفید باشه. بعد از شناسایی باید ببنید چه ورودی ای داره ایجاد مشکل میکنه و اعداد مشکل دار را در دامنه مناسب قرار بدین.

      1. amir

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

    1. محمودی

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

  7. علی

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

  8. مسعود

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

    1. محمودی

      سلام
      این بر میگرده به مدلسازیتون که درست مفاهیم رو نشون نمیده. اگه قراره وقتی توان صفر باشه، متغیر باینریش هم صفر باشه، پس وجود یه محدودیت مثل y

  9. امیر

    سلام وقتتون بخیر
    من برای یک هاب انرژی عدم قطعیت با روش IGDT اعمال کردم (البته گمز رو با کمک سایت شما و چندتا مقاله به عنوان بیس پایان نامه یادگرفتم) اما مشکل integer infeasible رو دارم میشه کمکم کنید؟ دیگه نمیدونم باید چیکار کنم برای روش IGDT فایل آموزشی گمز دارید معرفی کنید؟
    ممنونم از زحماتتون.

    1. محمودی

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

  10. علی

    با سلام
    اگر بخوام روی یک متغیر شرط تعیین کنم باید چیکار کنم؟
    ممنون

    1. محمودی

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

  11. علی

    باسلام
    یک مسئله بهینه سازی دارم با ۲ هدف
    که ماکزیمم کردن دو متغییر الفا و بتا می‌باشد
    این متغییرها در یک مدل به کار رفته اند یعنی
    max alpha $ beta
    subject to some equations
    که این الفا و بتا در داخل روابط به کار رفته اند
    برای حل این مسئله دو هدفه به چه صورت باید عمل کنم؟

    1. محمودی

      سلام
      از روشهای مختلفی نظی روش وزنی ساده، روش وزنی نرمال سازی شده، روش اپسیلون محدودیت، روش آرمانی، لکسیکوگرافی و… میتونین استفاده کنین.

  12. علی

    مدلسازی generalized benders decomposition را برای حل مسئله scuc روی شبکه برق به فرم minlp را میخواستم

  13. حامد

    باا سلام
    آیا میتوان با نوشتن عبارتی در مدل گمز بصورت خودکار sover ها رو خود نرم افزار تغییر بده تا به بهترین جواب برسه یا نه راه ش همونه که بصورت دستی و در بخش option هر بار solver عوض کنیم و مجددا run بشه

    1. محمودی

      سلام
      دستیه. من ندیدم چنین قابلیتی داشته باشه. میتونین چند solve و option مختلف رو بهش بدین و پشت سر هم ران کنه خودش و خودتون بهترین رو انتخاب کنین.

  14. علیرضا

    سلام آقای دکتر
    ببخشید بنده کد نویسی را انجام داده ام که از ۲ جدول با فرم های زیر استفاده کرده ام.

    -فرم جدول ۱:
    Table Gendata(Gen,*) Generating units characteristics
    Pmin Pmax Qmin Qmax Vg
    g1 0 2000 0 600 1
    g2 0 250 0 70 1.01
    ;
    جدول فوق در همه ۲۴ ساعت برقرار است.

    -فرم جدول ۲:
    Table Offerdata(t,gen) Generating units Offers characteristics
    G1 G2
    1 10 8
    2 10 8
    3 8 9
    4 15 8
    5 15 8
    .
    .
    .
    جدول فوق برای ۲۴ تعریف شده است.

    سوال: چگونه جدول ۱ را به صورت ۲۴ ساعت تعریف کنم؟ به عبارتی چگونه جدول ۱ را برای ۲۴ ساعت تعریف کنم؟ آیا در گمز ترفند یا روشی وجود دارد که با به کار بردن آن، جدول بدون آنکه مستقیما ۲۴ ساعته شود، برای تمام ۲۴ ساعت چنین مقداری داشته باشد؟

    ممنون میشم راهنمایی کنید.

    1. محمودی

      سلام
      در صورتی که برای تمامی ساعات، مقادیر gendata ثابت و تکراری هست، می تونید جدول gendata رو به شکلی که در بالا تعریف کردین مجددا تعریف کتین و فرمول زیر رو بعد از تعریف جدول اضافه کنین.

      parameter 
      newgendata(t,gen,*);
      newgendata(gen,*);
      
  15. علی

    سلام وقت بخیر
    توی گمز میخوام پروژهام رو باز کنم هیچی نمیاره بالا علتش چیه!! با اینکه کدهامو قبلا نوشتم ولی الان open میکنم هیچی نیست!!
    چطوری درستش کنم

    1. محمودی

      سلام
      با notepad باز کردینشون تا حالا؟ تست کنین. اگه متن آورد. که میتونین کپی کنین و یه جا دیگه استفاده کنین.
      اگه متن نیاورد، ممکنه آنتی ویروستون اشتباهی پاکش کرده باشه. یا هر دلیل دیگه ای…

  16. sh

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

  17. amir

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

    1. محمودی

      سلام
      والا تو اولویتای دوستان نیست هنوز. می تونین که درخواست تدریس خصوصی بصورت اسکایپ رو به ایمیل سایت ارسال بفرمایین.

  18. محمد

    سلام ببخشید یک سوال داشتم اگر لطف کنید کمکم کنید ممنون میشم
    من یک مجموعه m دارم که یه تعداد عضو داره یک متغیر a هم دارم میخام متغیر a برای تمام مجموعه m به جز سه تا از اعضای مجموعه m صفر باشه اینو باید چه جوری بنویسم ؟ برای یک عضوشو بلدم ولی برای سه عضوشو بلد نیستم

  19. الهام خوشبخت

    با تشکر از سایت خوبتون.
    مطلب آموزشی در زمینه تجزیه دانتریگ _ ولف دارید؟
    ممنون میشم به اشتراک بگذارید.

    1. محمودی

      سلام
      تو سایت چیزی نذاشتیم، اگه باشه تو کانال تلگرام می‌تونین ببینین.

  20. رضوان

    سلام
    من میخواستم یک مقاله رو که موضوعش TEP با در نظر گرفتن قیود N-1 هست رو کدنویسی کنم، اما در نوشتن کدهای مربوط به قید N-1 مشکل دارم، میشه لطفا راهنمایی کنید یا اگه کد آماده برای N-1 دارید به من بدید؟

    1. محمودی

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

  21. رضوان

    یه سری خطوط کاندید وجود داره که از بین اونا چند خط انتخاب میشن به دلیل رشد بار در سال هدف و همزمان باید N-1 هم در نظر گرفته بشه، برای N-1 هر بار باید یکی از خطوط قطع بشه و قیود بررسی بشه، نمیدونم قطع خطوط رو چطور باید بنویسم

  22. رضوان

    سلام من یک برنامه نوشتم که توش چند تا ارور ۱۷۰ داره که متوجه دلیلش نمیشم، میتونید کمکم کنید برای حلش

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