EQ SOFT
(۳۱) ادامهی تشریح بخش های یک کد بهینه سازی بخش ۳ و ۴: تابع هدف و قیود – خطوط ۱۱۰ تا ۲۶۰ class FrameAnalyzer: def evaluate_design(self, section_indices: List[int]) -> Dict: 🫀 این بخش، دستگاه سنجش کیفیت و خطقرمزهای مهندسی را پیادهسازی میکند. تابع…
PSO_code_for_edu_Opti.py
21.6 KB
کد بهینه سازی قاب فولادی دو طبقه با الگوریتم ازدحام ذرات.
پست های قبلی ⬇️
#structural_optimization
کانال تلگرامی
https://t.me/EarthQuakeSoftware
کانال بله
https://ble.ir/EarthQuakeSoftware
.
پست های قبلی ⬇️
#structural_optimization
کانال تلگرامی
https://t.me/EarthQuakeSoftware
کانال بله
https://ble.ir/EarthQuakeSoftware
.
🙏4❤1👏1
مقایسهی دو الگوریتم ازدحام ذرات و الگوریتم ژنتیک برای قاب فرض شده جهت آموزش در کانال.
کد الگوریتم ژنتیک را نیز نوشتم و پس از تکمیل توضیح هر دو کد آنرا نیز در کانال ارسال خواهم کرد.
در این دو نمودار قدرت الگوریتم ازدحام ذرات را به خوبی میتوانید مشاهده کنید.
پست شماره ۱۵ را مطالعه کنید.
پست های قبلی ⬇️
#structural_optimization
کانال تلگرامی
https://t.me/EarthQuakeSoftware
کانال بله
https://ble.ir/EarthQuakeSoftware
.
کد الگوریتم ژنتیک را نیز نوشتم و پس از تکمیل توضیح هر دو کد آنرا نیز در کانال ارسال خواهم کرد.
در این دو نمودار قدرت الگوریتم ازدحام ذرات را به خوبی میتوانید مشاهده کنید.
پست شماره ۱۵ را مطالعه کنید.
پست های قبلی ⬇️
#structural_optimization
کانال تلگرامی
https://t.me/EarthQuakeSoftware
کانال بله
https://ble.ir/EarthQuakeSoftware
.
🙏6
Forwarded from EQ SOFT
PEER-Records-RSN.rar
940.4 KB
💣⚠️اکسل شماره اختصاصی ( RSN ) رکوردهای موجود در سایت PEER
درود خدمت دوستان و همراهان گرامی، اکسلی شامل نام، شماره رکورد و بزرگای 15521 رکورد موجود در سایت Peer گردآوری شده است. این لیست بر اساس پیوست گزارش کمپل - بزرگنیا (بروزرسانی سال 2013) تهیه شده است. امیدوارم برای دوستان و همکاران گرامی مفید واقع شود.
ارادتمند دوستان، پژمان خسروآبادی
درود خدمت دوستان و همراهان گرامی، اکسلی شامل نام، شماره رکورد و بزرگای 15521 رکورد موجود در سایت Peer گردآوری شده است. این لیست بر اساس پیوست گزارش کمپل - بزرگنیا (بروزرسانی سال 2013) تهیه شده است. امیدوارم برای دوستان و همکاران گرامی مفید واقع شود.
ارادتمند دوستان، پژمان خسروآبادی
❤6
EQ SOFT
PEER-Records-RSN.rar
قابل توجه شرکت کنندگان دوره عملکردی. شماره اختصاصی رکوردهای سایت PEER
🙏3❤1
جلسه فوق برنامه دانلود شتاب نگاشت در دوره طراحی عملکردی بر مبنای نشریه ۳۶۰ در سایت اسپات پلیر بارگذاری شد. (جهت شرکت کنندگان آفلاین)
سرفصل جلسات اول و دوم.
سرفصل جلسه سوم.
سرفصل جلسه چهارم.
سرفصل جلسه پنجم.
سرفصل جلسه ششم.
سرفصل جلسه هفتم.
سرفصل جلسه هشتم.
سرفصل جلسه نهم.
سرفصل جلسه دهم؛
سرفصل جلسه یازدهم
جلسه فوق برنامه
🔸 دانلود شتابنگاشت از سایت PEER
مباحث جلسه آینده؛
🔹 مقیاس شتابنگاشت به روش طیف راستای بیشینه مطابق ویرایش پنجم استاندارد ۲۸۰۰
⚠️👇
سر فصل های دوره را در اینجا مطالعه بفرمایید.
در مورد سایر نرم افزارهای EQSoft اینجا بخوانید.
کانال تلگرامی
https://t.me/EarthQuakeSoftware
کانال بله
https://ble.ir/EarthQuakeSoftware
.
سرفصل جلسات اول و دوم.
سرفصل جلسه سوم.
سرفصل جلسه چهارم.
سرفصل جلسه پنجم.
سرفصل جلسه ششم.
سرفصل جلسه هفتم.
سرفصل جلسه هشتم.
سرفصل جلسه نهم.
سرفصل جلسه دهم؛
سرفصل جلسه یازدهم
جلسه فوق برنامه
🔸 دانلود شتابنگاشت از سایت PEER
مباحث جلسه آینده؛
🔹 مقیاس شتابنگاشت به روش طیف راستای بیشینه مطابق ویرایش پنجم استاندارد ۲۸۰۰
⚠️👇
ظرفیت ۳۰ نفری دوره آنلاین تکمیل شده است، دوستانی که تمایل به شرکت در دوره به صورت آفلاین را دارند، میتوانند جهت ثبت نام و دریافت اطلاعات بیشتر به ادمین کانال تلگرامی یا گروه پشتیبانی پیام ارسال کنند..
تعداد شرکت کننده تا کنون ۴۰ نفر می باشد.
سر فصل های دوره را در اینجا مطالعه بفرمایید.
در مورد سایر نرم افزارهای EQSoft اینجا بخوانید.
کانال تلگرامی
https://t.me/EarthQuakeSoftware
کانال بله
https://ble.ir/EarthQuakeSoftware
.
❤3👎1
(۳۲)
ادامهی تشریح بخش های یک کد بهینه سازی (بخش آخر کد)
بخش ۵ و ۶: پارامترها و حلقهی اصلی جستجو (PSO) – خطوط ۲۶۳ تا ۳۶۸
این بخش، موتور جستجوی بهینهسازی است که با الگوریتم PSO (ازدحام ذرات) کار میکند:
پارامترهای الگوریتم (بخش ۵):
این بخش با توجه به پروژه باید تغییر کند!
n_particles=30
تعداد ذرات (هر ذره یک طرح است)
n_iterations=100
تعداد تکرارها
w=0.7
ضریب اینرسی (کنترل کنندهی میزان حرکت قبلی)
c1=1.5
ضریب شناختی (تمایل ذره به سمت بهترین تجربهی شخصی خود)
c2=1.5
ضریب اجتماعی (تمایل ذره به سمت بهترین تجربهی کل جمعیت)
حلقهی اصلی جستجو (بخش ۶):
مرحلهی ۱ – مقداردهی اولیه:
۳۰ طرح اولیه بهصورت کاملاً تصادفی تولید میشوند.
مرحلهی ۲ – ارزیابی:
همهی ۳۰ طرح به تابع هدف فرستاده میشوند تا امتیاز (وزن+جریمه) بگیرند.
مرحلهی ۳ – بهروزرسانی:
سرعت هر ذره بر اساس سه عامل بهروزرسانی میشود: اینرسی (حرکت قبلی)، شناخت شخصی (تمایل به سمت بهترین تجربهی خود ذره) و شناخت اجتماعی (تمایل به سمت بهترین تجربهی کل جمعیت). سپس موقعیت جدید با گرد کردن سرعت به نزدیکترین عدد صحیح محاسبه میشود (چون متغیرها گسسته هستند).
مرحلهی ۴ – بررسی توقف:
حلقه تا رسیدن به ۱۰۰ تکرار ادامه مییابد و در هر ۱۰ تکرار، گزارش پیشرفت چاپ میشود.
بخش ۷: خروجی (Output) – خطوط ۳۷۱ تا ۴۲۰
این بخش، محصول نهایی را تحویل میدهد:
· بهترین متغیرهای طراحی: نام پروفیل انتخابشده برای هر تیر و ستون.
· مقدار تابع هدف: کمترین وزن بهدستآمده (با احتساب جریمه).
· وضعیت قیود: تأیید اینکه همهی نسبتهای تنش ≤ ۱.۰ هستند.
· نمودار همگرایی: نشان میدهد که در هر تکرار، بهترین وزن چقدر بهبود یافتهاست.
خروجی نمونه:
پست های قبلی ⬇️
#structural_optimization
کانال تلگرامی
https://t.me/EarthQuakeSoftware
کانال بله
https://ble.ir/EarthQuakeSoftware
.
ادامهی تشریح بخش های یک کد بهینه سازی (بخش آخر کد)
بخش ۵ و ۶: پارامترها و حلقهی اصلی جستجو (PSO) – خطوط ۲۶۳ تا ۳۶۸
class ParticleSwarmOptimizer:
def discrete_pso(self, n_variables: int, n_options: int):
این بخش، موتور جستجوی بهینهسازی است که با الگوریتم PSO (ازدحام ذرات) کار میکند:
پارامترهای الگوریتم (بخش ۵):
این بخش با توجه به پروژه باید تغییر کند!
n_particles=30
تعداد ذرات (هر ذره یک طرح است)
n_iterations=100
تعداد تکرارها
w=0.7
ضریب اینرسی (کنترل کنندهی میزان حرکت قبلی)
c1=1.5
ضریب شناختی (تمایل ذره به سمت بهترین تجربهی شخصی خود)
c2=1.5
ضریب اجتماعی (تمایل ذره به سمت بهترین تجربهی کل جمعیت)
حلقهی اصلی جستجو (بخش ۶):
مرحلهی ۱ – مقداردهی اولیه:
positions = np.random.randint(0, n_options, (n_particles, n_variables))
۳۰ طرح اولیه بهصورت کاملاً تصادفی تولید میشوند.
مرحلهی ۲ – ارزیابی:
for i in range(self.n_particles):
result = self.objective_func(positions[i].tolist())
همهی ۳۰ طرح به تابع هدف فرستاده میشوند تا امتیاز (وزن+جریمه) بگیرند.
مرحلهی ۳ – بهروزرسانی:
velocities[i] = (w * velocities[i] +
c1 * r1 * (pbest_positions[i] - positions[i]) +
c2 * r2 * (gbest_position - positions[i]))
new_pos = np.round(positions[i] + velocities[i]).astype(int)
سرعت هر ذره بر اساس سه عامل بهروزرسانی میشود: اینرسی (حرکت قبلی)، شناخت شخصی (تمایل به سمت بهترین تجربهی خود ذره) و شناخت اجتماعی (تمایل به سمت بهترین تجربهی کل جمعیت). سپس موقعیت جدید با گرد کردن سرعت به نزدیکترین عدد صحیح محاسبه میشود (چون متغیرها گسسته هستند).
مرحلهی ۴ – بررسی توقف:
حلقه تا رسیدن به ۱۰۰ تکرار ادامه مییابد و در هر ۱۰ تکرار، گزارش پیشرفت چاپ میشود.
بخش ۷: خروجی (Output) – خطوط ۳۷۱ تا ۴۲۰
def print_results(results: Dict, analyzer: FrameAnalyzer):
...
def plot_convergence(history: List[float]):
...
این بخش، محصول نهایی را تحویل میدهد:
· بهترین متغیرهای طراحی: نام پروفیل انتخابشده برای هر تیر و ستون.
· مقدار تابع هدف: کمترین وزن بهدستآمده (با احتساب جریمه).
· وضعیت قیود: تأیید اینکه همهی نسبتهای تنش ≤ ۱.۰ هستند.
· نمودار همگرایی: نشان میدهد که در هر تکرار، بهترین وزن چقدر بهبود یافتهاست.
خروجی نمونه:
نتایج نهایی بهینهسازی قاب فولادی دوطبقه
============================================================
وزن کل سازه: 2847.32 kg
وضعیت قیود: ✓ قبول شد
پروفیلهای انتخابشده:
تیرها (Beams):
تیر 1: W18x55 | نسبت خمش: 0.872 ✓
تیر 2: W16x50 | نسبت خمش: 0.941 ✓
ستونها (Columns):
ستون 1: W14x53 | نسبت فشار: 0.895 ✓
ستون 2: W12x35 | نسبت فشار: 0.923 ✓
پست های قبلی ⬇️
#structural_optimization
کانال تلگرامی
https://t.me/EarthQuakeSoftware
کانال بله
https://ble.ir/EarthQuakeSoftware
.
🙏4
⚠️⭕
نرم افزارهای رایگان گروه آموزشی و نرم افزاری
Earthquake Software (EQSoft)
نرم افزار تولید طیف طرح استانداردها
Spectrum Generator
نرم افزار گزارش شتاب های طیفی کوتاه و یک ثانیه
Ss-S1-2800-Spect-Generator
کد فعالسازی را از اینجا مشاهده بفرمایید.
نرم افزار تبدیل فایل چند ستونی شتاب نگاشت دانلود شده از سایت Peer به صورت دو ستونی
Record-preprocessing.V1
اکسل شماره اختصاصی ( RSN ) رکوردهای موجود در سایت PEER
نرم افزار رایگان تولید شتابنگاشت مصنوعی (نسخه قدیمی و رایگان)
EQSOFT-Artif-V1.2
نرم افزار محاسبه ضریب ترک خوردگی المان های بتنی و اصلاح ضریب پیچشی
EQSOFT-CHRIS-V1.3
رفع مشکل بهم ریختن فونت های فارسی
جهت آشنایی با سایر نرم افزارهای ما اینجا مراجعه بفرمایید.
مدیر و بنیانگذار گروه آموزشی و نرم افزاری EQSoft
پژمان خسروآبادی
کانال تلگرامی
https://t.me/EarthQuakeSoftware
کانال بله
https://ble.ir/EarthQuakeSoftware
.
نرم افزارهای رایگان گروه آموزشی و نرم افزاری
Earthquake Software (EQSoft)
نرم افزار تولید طیف طرح استانداردها
Spectrum Generator
نرم افزار گزارش شتاب های طیفی کوتاه و یک ثانیه
Ss-S1-2800-Spect-Generator
کد فعالسازی را از اینجا مشاهده بفرمایید.
نرم افزار تبدیل فایل چند ستونی شتاب نگاشت دانلود شده از سایت Peer به صورت دو ستونی
Record-preprocessing.V1
اکسل شماره اختصاصی ( RSN ) رکوردهای موجود در سایت PEER
نرم افزار رایگان تولید شتابنگاشت مصنوعی (نسخه قدیمی و رایگان)
EQSOFT-Artif-V1.2
نرم افزار محاسبه ضریب ترک خوردگی المان های بتنی و اصلاح ضریب پیچشی
EQSOFT-CHRIS-V1.3
رفع مشکل بهم ریختن فونت های فارسی
جهت آشنایی با سایر نرم افزارهای ما اینجا مراجعه بفرمایید.
مدیر و بنیانگذار گروه آموزشی و نرم افزاری EQSoft
پژمان خسروآبادی
کانال تلگرامی
https://t.me/EarthQuakeSoftware
کانال بله
https://ble.ir/EarthQuakeSoftware
.
Telegram
EQ SOFT
کانال انتشار و پشتیبانی نرم افزارهای Earthquake Soft، اکسل های مقیاس شتابنگاشت، اکسل پارامترهای شدت زلزله، طراحی و کنترل دیوار برشی فولادی، محاسبه ضریب ترک خوردگی و پیچش همسازی و رکورد مصنوعی و پشتیبانی دورههای آموزشی
ادمین
@pezhman56kh
ادمین
@pezhman56kh
🙏5❤1
Forwarded from Abbas Ghadami
ثبت نام شروع شد!
"دوره تخصصی آموزش نرمافزار ABAQUS"
✅ ویژه پژوهشگران و دانشجویان تحصیلات تکمیلی
✅ با تأکید بر اعتبارسنجی مدلها بر اساس نتایج عددی و آزمایشگاهی مقالات ISI
✅ آموزش جامع فرآیند مدلسازی، تحلیل و استخراج خروجیهای باکیفیت جهت استفاده در مقالات پژوهشی
✅ محتوای هر پروژه شامل موارد زیر است:
۱. فایل CAE و JNL مدل ABAQUS
۲.فایل Excel مرتبط با تعریف هندسه، مصالح، تماسها، مشبندی، بارگذاری و شرایط مرزی
۳. فایل Excel شامل استخراج و پردازش نتایج
۴. فایل Excel مقایسه نتایج مدل عددی بازسازیشده با نتایج عددی و آزمایشگاهی مقاله مرجع
✅ مدرس دوره:
دکتر عباس قدمی بدرلو
استادیار گروه مهندسی عمران دانشگاه شهید مدنی آذربایجان-تبریز
صفحه Google Scholar مدرس دوره:
https://scholar.google.com/citations?user=7lp0M5sAAAAJ&hl=en
✅ هزینه دوره: ۱۰ میلیون تومان
✅ برای ثبت نام و دریافت اطلاعات بیشتر در مورد دوره به آیدی زیر در تلگرام پیام دهید:
@DrPourmoosavi
"دوره تخصصی آموزش نرمافزار ABAQUS"
✅ ویژه پژوهشگران و دانشجویان تحصیلات تکمیلی
✅ با تأکید بر اعتبارسنجی مدلها بر اساس نتایج عددی و آزمایشگاهی مقالات ISI
✅ آموزش جامع فرآیند مدلسازی، تحلیل و استخراج خروجیهای باکیفیت جهت استفاده در مقالات پژوهشی
✅ محتوای هر پروژه شامل موارد زیر است:
۱. فایل CAE و JNL مدل ABAQUS
۲.فایل Excel مرتبط با تعریف هندسه، مصالح، تماسها، مشبندی، بارگذاری و شرایط مرزی
۳. فایل Excel شامل استخراج و پردازش نتایج
۴. فایل Excel مقایسه نتایج مدل عددی بازسازیشده با نتایج عددی و آزمایشگاهی مقاله مرجع
✅ مدرس دوره:
دکتر عباس قدمی بدرلو
استادیار گروه مهندسی عمران دانشگاه شهید مدنی آذربایجان-تبریز
صفحه Google Scholar مدرس دوره:
https://scholar.google.com/citations?user=7lp0M5sAAAAJ&hl=en
✅ هزینه دوره: ۱۰ میلیون تومان
✅ برای ثبت نام و دریافت اطلاعات بیشتر در مورد دوره به آیدی زیر در تلگرام پیام دهید:
@DrPourmoosavi
❤8
جلسه دوازدهم دوره طراحی عملکردی بر مبنای نشریه ۳۶۰ در سایت اسپات پلیر بارگذاری شد. (جهت شرکت کنندگان آفلاین)
سرفصل جلسات اول و دوم، سوم، چهارم، پنجم، ششم، هفتم، هشتم، نهم، دهم، یازدهم، فوق برنامه
سرفصل جلسه دوازدهم
🔸 بررسی خصوصیات رکوردهای نزدیک گسل
🔸 بررسی رکوردهای نزدیک گسل پالس لایک در سایسمو سیگنال
🔸 مقیاس شتابنگاشت به روش طیف راستای بیشینه مطابق ویرایش پنجم استاندارد ۲۸۰۰
مباحث جلسه آینده؛
🔹 بررسی معیارهای پذیرش تحلیل های خطی و پذیرش اعضای فولادی به روش خطی
⚠️👇
.
سر فصل های دوره را در اینجا مطالعه بفرمایید.
در مورد سایر نرم افزارهای EQSoft اینجا بخوانید.
کانال تلگرامی
https://t.me/EarthQuakeSoftware
کانال بله
https://ble.ir/EarthQuakeSoftware
.
سرفصل جلسات اول و دوم، سوم، چهارم، پنجم، ششم، هفتم، هشتم، نهم، دهم، یازدهم، فوق برنامه
سرفصل جلسه دوازدهم
🔸 بررسی خصوصیات رکوردهای نزدیک گسل
🔸 بررسی رکوردهای نزدیک گسل پالس لایک در سایسمو سیگنال
🔸 مقیاس شتابنگاشت به روش طیف راستای بیشینه مطابق ویرایش پنجم استاندارد ۲۸۰۰
مباحث جلسه آینده؛
🔹 بررسی معیارهای پذیرش تحلیل های خطی و پذیرش اعضای فولادی به روش خطی
⚠️👇
ظرفیت ۳۰ نفری دوره آنلاین تکمیل شده است، دوستانی که تمایل به شرکت در دوره به صورت آفلاین را دارند، میتوانند جهت ثبت نام و دریافت اطلاعات بیشتر به ادمین کانال تلگرامی یا گروه پشتیبانی پیام ارسال کنند.
تعداد شرکت کننده تا کنون ۴۰ نفر می باشد.
.
سر فصل های دوره را در اینجا مطالعه بفرمایید.
در مورد سایر نرم افزارهای EQSoft اینجا بخوانید.
کانال تلگرامی
https://t.me/EarthQuakeSoftware
کانال بله
https://ble.ir/EarthQuakeSoftware
.
🙏4👍1
(۳۳)
ادامهی تشریح بخش های یک کد بهینه سازی با الگوریتم ژنتیک 🧬
📝 تشریح بخشهای کد GA بر اساس معماری ۷ بخشی
⚠️ چون بخشهای ۱ تا ۴ و ۷ کاملاً مشابه قبل هستند، فقط روی بخشهای ۵ و ۶ (مربوط به الگوریتم) تمرکز میکنیم:
بخش ۵: پارامترهای کنترل الگوریتم ژنتیک
این تنظیمات، بخشهای ماشین تکامل را تعیین میکنند:
▪️ تعداد جمعیت (۵۰): چند طرح را همزمان در هر نسل نگه داریم.
▫️ تعداد نسلها (۱۰۰): چند بار چرخهی تولیدمثل را تکرار کنیم.
▪️ نرخ جهش (۰.۱): یعنی ۱۰٪ از ژنهای هر فرزند بهصورت تصادفی تغییر میکنند (برای جلوگیری از یکنواختی).
▫️ نرخ ترکیب (۰.۸): یعنی ۸۰٪ از جفتها با هم ترکیب میشوند و ۲۰٪ بدون تغییر به نسل بعد میروند.
▪️ تعداد نخبهها [منتخبها] (۲): دو تا از بهترین طرحهای هر نسل، بدون هیچ تغییری به نسل بعد منتقل میشوند تا بهترینها هرگز از دست نروند.
بخش ۶: حلقهی اصلی جستجو (چرخهی تکامل)
حلقهی اصلی در تابع run_ga اجرا میشود و هر نسل، ۴ مرحلهی حیاتی را طی میکند:
مرحلهی ۱ – مقداردهی اولیه (تولد جمعیت اولیه) 👨👩👧👦👨👩👧👦👨👩👧👦
مشابه PSO، اما اینجا به جای سرعت و موقعیت، مستقیماً ۵۰ کروموزوم (هر کروموزوم ۱۰ ژن دارد) بهصورت تصادفی متولد میشوند. هر ژن یک عدد بین ۰ تا ۱۴ است که معرف یک پروفیل است.
مرحلهی ۲ – ارزیابی (محاسبهی تناسب اندام) 🏅🏋️💪
همهی ۵۰ فرد به تابع تحلیلگر (FrameAnalyzer) فرستاده میشوند تا وزن و جریمهی خود را محاسبه کنند. در اینجا عدد کوچکتر = بهتر (چون دنبال کمترین وزن هستیم). به این عدد، «مقدار برازندگی» یا Fitness میگوییم.
مرحلهی ۳ – انتخاب والدین (مسابقهی بقا) 👰🤵
🤼🤺🧗
این شبیه به یک مسابقه است: از بین جمعیت، ۳ نفر را تصادفی انتخاب میکنیم و به غرفهی مسابقه میفرستیم. هر کسی که وزنش کمتر بود (برازندهتر بود)، برنده میشود و حق تولیدمثل پیدا میکند. این کار باعث میشود افراد قویتر شانس بیشتری برای تولید فرزند داشته باشند، بدون اینکه اجازه دهیم یک فرد خیلی قوی، کل جمعیت را یکدست کند (چون انتخاب تصادفی همچنان تنوع را حفظ میکند).
مرحلهی ۴ – ترکیب (Crossover) و جهش (Mutation)
ترکیب یکنواخت (Uniform Crossover):
تصور کنید دو والد، هر کدام یک بستهی ۱۰ تایی از پروفیلها هستند. برای هر جایگاه (تیر و ستون)، یک سکه میاندازیم. اگر شیر بیاید، ژن والد اول به فرزند اول و ژن والد دوم به فرزند دوم میرسد. اگر خط بیاید، برعکس. به این ترتیب، فرزندان ترکیبی از بهترین ویژگیهای هر دو والد را به ارث میبرند.
📈 جهش (Mutation):
پس از ترکیب، هر ژن با احتمال ۱۰٪ بهطور کامل تغییر میکند و به یک پروفیل کاملاً تصادفی (غیر از خودش) تبدیل میشود. جهش مثل یک اشتباه کپیبرداری در طبیعت است؛ همین اشتباهات گاهی باعث میشوند موجودی فوقالعاده متولد شود که مسیرهای جدیدی را کشف میکند.
🥇🥈 مرحلهی ۵ – نخبهگرایی (Elitism)
قبل از اینکه همهچیز را با ترکیب و جهش عوض کنیم، ۲ تا از بهترین طرحهای نسل فعلی را دقیقاً همانطور که هستند به نسل بعد میفرستیم. این کار تضمین میکند که بهترین پاسخ پیدا شده، هرگز در طول نسلها گم نشود (چون ترکیب و جهش ممکن است آن را خراب کنند).
پست های قبلی ⬇️
#structural_optimization
کانال تلگرامی
https://t.me/EarthQuakeSoftware
کانال بله
https://ble.ir/EarthQuakeSoftware
.
ادامهی تشریح بخش های یک کد بهینه سازی با الگوریتم ژنتیک 🧬
📝 تشریح بخشهای کد GA بر اساس معماری ۷ بخشی
⚠️ چون بخشهای ۱ تا ۴ و ۷ کاملاً مشابه قبل هستند، فقط روی بخشهای ۵ و ۶ (مربوط به الگوریتم) تمرکز میکنیم:
بخش ۵: پارامترهای کنترل الگوریتم ژنتیک
def __init__(self, population_size=50, n_generations=100,
mutation_rate=0.1, crossover_rate=0.8, elitism_count=2)
این تنظیمات، بخشهای ماشین تکامل را تعیین میکنند:
▪️ تعداد جمعیت (۵۰): چند طرح را همزمان در هر نسل نگه داریم.
▫️ تعداد نسلها (۱۰۰): چند بار چرخهی تولیدمثل را تکرار کنیم.
▪️ نرخ جهش (۰.۱): یعنی ۱۰٪ از ژنهای هر فرزند بهصورت تصادفی تغییر میکنند (برای جلوگیری از یکنواختی).
▫️ نرخ ترکیب (۰.۸): یعنی ۸۰٪ از جفتها با هم ترکیب میشوند و ۲۰٪ بدون تغییر به نسل بعد میروند.
▪️ تعداد نخبهها [منتخبها] (۲): دو تا از بهترین طرحهای هر نسل، بدون هیچ تغییری به نسل بعد منتقل میشوند تا بهترینها هرگز از دست نروند.
بخش ۶: حلقهی اصلی جستجو (چرخهی تکامل)
حلقهی اصلی در تابع run_ga اجرا میشود و هر نسل، ۴ مرحلهی حیاتی را طی میکند:
مرحلهی ۱ – مقداردهی اولیه (تولد جمعیت اولیه) 👨👩👧👦👨👩👧👦👨👩👧👦
population = np.random.randint(0, n_options, (population_size, n_variables))
مشابه PSO، اما اینجا به جای سرعت و موقعیت، مستقیماً ۵۰ کروموزوم (هر کروموزوم ۱۰ ژن دارد) بهصورت تصادفی متولد میشوند. هر ژن یک عدد بین ۰ تا ۱۴ است که معرف یک پروفیل است.
مرحلهی ۲ – ارزیابی (محاسبهی تناسب اندام) 🏅🏋️💪
fitness_values = []
for individual in population:
result = objective_func(individual.tolist())
fitness_values.append(result['objective'])
همهی ۵۰ فرد به تابع تحلیلگر (FrameAnalyzer) فرستاده میشوند تا وزن و جریمهی خود را محاسبه کنند. در اینجا عدد کوچکتر = بهتر (چون دنبال کمترین وزن هستیم). به این عدد، «مقدار برازندگی» یا Fitness میگوییم.
مرحلهی ۳ – انتخاب والدین (مسابقهی بقا) 👰🤵
def _tournament_selection(self, population, fitness, k=3):
selected_indices = np.random.choice(len(population), k, replace=False)
best_idx = selected_indices[np.argmin([fitness[i] for i in selected_indices])]
return population[best_idx].copy()
🤼🤺🧗
این شبیه به یک مسابقه است: از بین جمعیت، ۳ نفر را تصادفی انتخاب میکنیم و به غرفهی مسابقه میفرستیم. هر کسی که وزنش کمتر بود (برازندهتر بود)، برنده میشود و حق تولیدمثل پیدا میکند. این کار باعث میشود افراد قویتر شانس بیشتری برای تولید فرزند داشته باشند، بدون اینکه اجازه دهیم یک فرد خیلی قوی، کل جمعیت را یکدست کند (چون انتخاب تصادفی همچنان تنوع را حفظ میکند).
مرحلهی ۴ – ترکیب (Crossover) و جهش (Mutation)
ترکیب یکنواخت (Uniform Crossover):
for i in range(len(parent1)):
if np.random.random() < 0.5:
child1[i] = parent1[i]; child2[i] = parent2[i]
else:
child1[i] = parent2[i]; child2[i] = parent1[i]
تصور کنید دو والد، هر کدام یک بستهی ۱۰ تایی از پروفیلها هستند. برای هر جایگاه (تیر و ستون)، یک سکه میاندازیم. اگر شیر بیاید، ژن والد اول به فرزند اول و ژن والد دوم به فرزند دوم میرسد. اگر خط بیاید، برعکس. به این ترتیب، فرزندان ترکیبی از بهترین ویژگیهای هر دو والد را به ارث میبرند.
📈 جهش (Mutation):
if np.random.random() < self.mutation_rate:
mutant[i] = np.random.randint(0, n_options)
پس از ترکیب، هر ژن با احتمال ۱۰٪ بهطور کامل تغییر میکند و به یک پروفیل کاملاً تصادفی (غیر از خودش) تبدیل میشود. جهش مثل یک اشتباه کپیبرداری در طبیعت است؛ همین اشتباهات گاهی باعث میشوند موجودی فوقالعاده متولد شود که مسیرهای جدیدی را کشف میکند.
🥇🥈 مرحلهی ۵ – نخبهگرایی (Elitism)
sorted_indices = np.argsort(fitness_values)
elites = population[sorted_indices[:self.elitism_count]]
قبل از اینکه همهچیز را با ترکیب و جهش عوض کنیم، ۲ تا از بهترین طرحهای نسل فعلی را دقیقاً همانطور که هستند به نسل بعد میفرستیم. این کار تضمین میکند که بهترین پاسخ پیدا شده، هرگز در طول نسلها گم نشود (چون ترکیب و جهش ممکن است آن را خراب کنند).
پست های قبلی ⬇️
#structural_optimization
کانال تلگرامی
https://t.me/EarthQuakeSoftware
کانال بله
https://ble.ir/EarthQuakeSoftware
.
🙏4❤1👏1
EQ SOFT
PSO_code_for_edu_Opti.py
GA_code_for_edu_Opti.py
19.1 KB
کد بهینه سازی قاب فولادی دو طبقه با الگوریتم ژنتیک.
فقط بخش الگوریتم تغییر یافته است و سایر بخش ها مشابه کد با الگوریتم ازدحام ذرات است.
در ادامه مجموعه پست های بهینه سازی، به مقایسهی این دو الگوریتم خواهیم پرداخت.
پست های قبلی ⬇️
#structural_optimization
کانال تلگرامی
https://t.me/EarthQuakeSoftware
کانال بله
https://ble.ir/EarthQuakeSoftware
.
فقط بخش الگوریتم تغییر یافته است و سایر بخش ها مشابه کد با الگوریتم ازدحام ذرات است.
در ادامه مجموعه پست های بهینه سازی، به مقایسهی این دو الگوریتم خواهیم پرداخت.
پست های قبلی ⬇️
#structural_optimization
کانال تلگرامی
https://t.me/EarthQuakeSoftware
کانال بله
https://ble.ir/EarthQuakeSoftware
.
❤5
(۳۴)
حالا که هر دو کد را در کانال فرستادم، قصد دارم از چند جنبه دو الگوریتم پر کاربرد و معروف الگوریتم ژنتیک و الگوریتم ازدحام ذرات را با هم مقایسه کنیم.
این مقایسه ها از ۶ جنبه ارائه خواهد شد.
🌱 ۱. منبع الهام (ایدهی اصلی)
GA
(الگوریتم ژنتیک): الهامگرفته از زیستشناسی و نظریهی تکامل داروین است.
☘️🌿🌾🌳
تشبیه: مثل یک مزرعهی پرورش گیاهان است. شما بهترین بوتهها را انتخاب میکنید، گردهافشانی میکنید، بذرهای جدید میکارید و هر سال قویترین بوتهها را نگه میدارید تا نسلها قویتر شوند.
PSO
(ازدحام ذرات): الهامگرفته از رفتار اجتماعی جانوران مثل دستهی پرندگان یا ماهیها است.
🦜🕊️🦜🕊️
تشبیه: مثل یک دستهی پرنده است که دنبال غذا میگردند. هر پرنده میداند کجا بهترین غذا را پیدا کرده (تجربهی شخصی) و همه میدانند کدام پرنده به غذا نزدیکتر است (تجربهی گروهی). همه با تقلید از بهترین پرنده، مسیر خود را اصلاح میکنند.
پست های قبلی ⬇️
#structural_optimization
کانال تلگرامی
https://t.me/EarthQuakeSoftware
کانال بله
https://ble.ir/EarthQuakeSoftware
.
حالا که هر دو کد را در کانال فرستادم، قصد دارم از چند جنبه دو الگوریتم پر کاربرد و معروف الگوریتم ژنتیک و الگوریتم ازدحام ذرات را با هم مقایسه کنیم.
این مقایسه ها از ۶ جنبه ارائه خواهد شد.
🌱 ۱. منبع الهام (ایدهی اصلی)
GA
(الگوریتم ژنتیک): الهامگرفته از زیستشناسی و نظریهی تکامل داروین است.
☘️🌿🌾🌳
تشبیه: مثل یک مزرعهی پرورش گیاهان است. شما بهترین بوتهها را انتخاب میکنید، گردهافشانی میکنید، بذرهای جدید میکارید و هر سال قویترین بوتهها را نگه میدارید تا نسلها قویتر شوند.
PSO
(ازدحام ذرات): الهامگرفته از رفتار اجتماعی جانوران مثل دستهی پرندگان یا ماهیها است.
🦜🕊️🦜🕊️
تشبیه: مثل یک دستهی پرنده است که دنبال غذا میگردند. هر پرنده میداند کجا بهترین غذا را پیدا کرده (تجربهی شخصی) و همه میدانند کدام پرنده به غذا نزدیکتر است (تجربهی گروهی). همه با تقلید از بهترین پرنده، مسیر خود را اصلاح میکنند.
پست های قبلی ⬇️
#structural_optimization
کانال تلگرامی
https://t.me/EarthQuakeSoftware
کانال بله
https://ble.ir/EarthQuakeSoftware
.
🙏4
Forwarded from PBSD Tall Buildings
Std2800_Pahlavan_Webapp_v36.1.1.html
2.3 MB
وب اپلیکیشن محاسبه پارامترهای زلزله و تولید طیف طرح مطابق ویرایش پنجم استاندارد ۲۸۰۰- حسین پهلوان
V36.1.1 Date: 1405.6.22
🌻🌻🌻🌻🌻🌻🌻🌻🌻
🆔@PBSD_TallBuildings
V36.1.1 Date: 1405.6.22
🌻🌻🌻🌻🌻🌻🌻🌻🌻
🆔@PBSD_TallBuildings
❤4
🧑💻 روز برنامه نویسان را تبریک و شادباش میگویم.
تخفیف ویژه فقط به مدت ۴۸ ساعت ⏳⚠️
تا پایان روز سهشنبه ۲۴ شهریور ماه
بر روی تمام نرم افزارهای تولید شده گروه آموزشی و نرم افزاری EQSoft
جهت دریافت لیست نرمافزارها به ادمین کانال یا گروه پشتیبانی پیام ارسال بفرمایید.
کانال تلگرامی
https://t.me/EarthQuakeSoftware
کانال بله
https://ble.ir/EarthQuakeSoftware
.
تخفیف ویژه فقط به مدت ۴۸ ساعت ⏳⚠️
تا پایان روز سهشنبه ۲۴ شهریور ماه
تخفیف ویژه ۴۰ درصدی! ⚠️⭕
بر روی تمام نرم افزارهای تولید شده گروه آموزشی و نرم افزاری EQSoft
⭕ در صورت تهیه دو نرم افزار، از تخفیف ۲۰ درصدی دوره ها نیز برخوردار خواهید شد. ⭕
جهت دریافت لیست نرمافزارها به ادمین کانال یا گروه پشتیبانی پیام ارسال بفرمایید.
کانال تلگرامی
https://t.me/EarthQuakeSoftware
کانال بله
https://ble.ir/EarthQuakeSoftware
.
🙏3
EQSOFT-CRIS-V1.3.rar
59.5 MB
New Update
EQSoft-Chris-V1.3
بروزرسانی نرم افزار محاسبه ضرایب کاهش سختی در اعضای بتنی (ضریب ترک خوردگی و اصلاح ضریب پیچشی)
موارد بروزرسانی؛
۱- رفع باگ تحلیل مستقل و اصلاح ضریب پیچشی
۲- افزوده شدن امکان انتخاب المان ها به صورت مستقل
جهت آشنایی با نرم افزار، توضیحات در پست نسخه قبلی را مطالعه بفرمایید.
گروه آموزشی و نرم افزاری EQSoft
پژمان خسروآبادی
کانال تلگرامی
https://t.me/EarthQuakeSoftware
کانال بله
https://ble.ir/EarthQuakeSoftware
.
EQSoft-Chris-V1.3
بروزرسانی نرم افزار محاسبه ضرایب کاهش سختی در اعضای بتنی (ضریب ترک خوردگی و اصلاح ضریب پیچشی)
موارد بروزرسانی؛
۱- رفع باگ تحلیل مستقل و اصلاح ضریب پیچشی
۲- افزوده شدن امکان انتخاب المان ها به صورت مستقل
جهت آشنایی با نرم افزار، توضیحات در پست نسخه قبلی را مطالعه بفرمایید.
گروه آموزشی و نرم افزاری EQSoft
پژمان خسروآبادی
کانال تلگرامی
https://t.me/EarthQuakeSoftware
کانال بله
https://ble.ir/EarthQuakeSoftware
.
❤3🙏3
Forwarded from ایستا (کانال دکتر فاروقی) (A.Faroughi)
524-r1 (3).pdf
22.7 MB
با سلام به همکاران و دوستان عزیز.
نسخه به روزرسانی شده نشریه شماره 524 با عنوان "راهنماي روشها و شيوههاي بهسازي لرزهاي ساختمانهاي موجود و جزئيات اجرايي (بازنگري اول)" برای استحضار و مراجعه لازم ارسال می گردد.
نسخه به روزرسانی شده نشریه شماره 524 با عنوان "راهنماي روشها و شيوههاي بهسازي لرزهاي ساختمانهاي موجود و جزئيات اجرايي (بازنگري اول)" برای استحضار و مراجعه لازم ارسال می گردد.
🙏3