Payamvdn/NorthPersian_fa_wiki huggingface dataset:
موجب سلب آسایش ساکنین و مختل شدن فعالیت های آنان می شود. معمول ترین راه محافظت بنا در برابر تابش مستقیم خورشید نصب سایه اندازها در حفره بین دو لایه نماست. بهترین حالت به کارگیری سایبان ها زمانی است که از آن ها در بیرون نمای خارجی استفاده شود تا در فصل تابستان مانع ورود تابش های خورشیدی به درون بنا شوند. اما به دلیل مقاومت ضعیفشان در برابر تغییرات جوی و بدین ترتیب کاهش طول عمرشان بهتر است درون حفره میانی قرار گیرند و در نتیجه توسط لایه بیرونی نما محافظت شوند. به همین سبب نیاز به تعمیر و نظافت آن ها کاهش میابد. تجهیزات سایه انداز غالبا به شکل کرکره های افقی و قابل تنظیم به عنوان وسیله خنک کننده غیرفعال عمل نموده و انرژی خورشید را جذب یا منعکس می کنند. گرمای جذب شده توسط آن ها نیز با حرکت هوا عمدتا از طریق جریان همرفت دفع می گردد و بدین ترتیب با کاهش بار وسایل خنک کننده، سبب ذخیره انرژی می شود. مزایای نمای دو پوست. ۱- کاهش اوج فشار باد ۲- بهبود بهره وری انرژی نما ۳- افزایش استفاده از حرارت خورشیدی در فصل زمستان ۴- کاهش تلفات حرارتی در زمستان ۵- کاهش کلی افزایش حرارت خورشیدی در فصل تابستان ۶- استفاده از تهویه طبی
عی ۷- جلوگیری از ورود سر و صدا ۸- استفاده مفید از نور روز نحوهٔ عملکرد نما. در اقلیم سرد، افزایش انرژی خورشیدی درون دریچه ها، درفضای مسکون شده می تواند چرخشی برای کمک به نیاز تهویه مکانیکی ایجاد کند. درآب و هوای گرم، دریچه ها تخلیه کننده هستند. هوای گرم به بالا می روند و به بیرون تخلیه می شوند و هوای خنک پشت این به داخل کشیده می شود. این دریچه های خنک کننده فضا، نیاز به سردکننده هارا در محیط مسکون کاهش می دهد. قدیمی ترین نوع نمای دو لایه هستند. دارای یک بازشو به سمت داخل است. پوسته خارجی دارای دریچه هایی هستند که امکان دخول هوای تازه و خروج هوای مصرف شده را می دهد و تهویه کنندهٔ فضای میانی و داخلی است. بیشتر در ساختمان های بلند مورد استفاده قرار می گیرد زمانی مورد استفاده قرار می گیرد که حریم خصوصی بین اتاق ها نیاز باشد. فضای میانی به صورت افقی بر اساس اتاق به اتاق تقسیم بندی شده است و تقسیمات عمودی بین طبقات هستند پنجره در داخل دارای لعاب دو جداره عایق است در حالی که در بیرون از یک لعاب محکم استفاده شده است. پنجره داخلی می تواند به طور کلی باز شود تا تهویه طبیعی انجام شود. این نماها نوع ویژه ای از پنجره های
جعبه ای هستند که بر اساس ایده"نمای دوقلو" که اولین بار توسط شرکت "آلکو" ساخته شده بود، شکل گرفته است. در این نماها پنجره های جعبه ای به صورت عمودی به هم متصل می شوند و در راستای چند طبقه ادامه می یابند تا اثر دودکشی را ایجاد نمایند. برای شدت بخشیدن به جریان هوای متحرک به سمت بالا می توان از مکنده مکانیکی نیز استفاده کرد. دارای دو بخش پنجره جعبه ای و شافت عمودی هستند. شافت ها (دالان) تا بالای طبقات ادامه پیدا می کنند. شافت های عمودی به وسیلهٔ دریچه های فرعی در هر طبقه به پنجره جعبه ای متصل شده است. هوای درون پنجره جعبه ای به علت اثر دودکشی به داخل شافت عمودی کشیده می شوند و به بالا می روند. در نمای دالانی تقسیمات فضای میانی فقط به حالت افقی انجام می شود و در هر طبقه بسته شده است. جداسازی های صورت گرفته در این طبقات به دلیل پیش بینی مسائل مرتبط با مباحث آکوستیک، ایمنی زمان آتش سوزی لحاظ شده است. در مورد تهویه هوا باید در نظر داشت که به علت وجود اختلاف فشار شدید در گوشه نماها، اغتشاش در جریان هوا در این نواحی به وجود می آید که برای اجتناب از این مسئله بایستی از استقرار دریچه ها در گوشهٔ ساختمان خودداری کرد. ولی
در بقیه دالان اختلاف فشار کمی وجود دارد که این مسئله به تهویه هوا کمک می کند. همچنین برای کارایی بیشتر، بهتر است که درچه های ورود و خروج هوا به صورت شطرنجی نزدیک کف و سقف باشند. در طول راهرو حائل هایی بین هر اتاق قرار می گیرد که از عبور صدا از اتاقی به اتاق دیگر جلوگیری کند. در این نماها، فضای میانی بین دو جداره داخلی و خارجی به صورت افقی و عمودی بین چند اتاق متصل و یکی است. گاهی اوقات این فضا ممکن است در دور تا دور ساختمان بدون هیچ تقسیم کننده میانی چرخیده شود. در فصل های سرد می توان بازشوهای بالا و پایین را بست که با استفاده از خاصیت گل خانه ای، باعث ایجاد گرما کرد. این نماها معمولاً در جاهایی که سر و صدای محیط بالا است، کاربرد بیشتری دارند از آنجایی که در جداره خارجی نما بازشویی ندارد، باید اتاق های پشت نما را به صورت مکانیکی تهویه کرد. باید به مسئله سر و صدای عبوری از طریق فضای میانی توجه داشت. در این مدل نما، دو حالت تهویه جدار خارجی و منطقه حائل بیشتری کاربرد دارند. بررسی عملکرد نمای دو پوسته به عنوان سیستم غیرفعال خورشیدی (اثر گلخانه ای). نمای دوپوسته شامل عناصری مشابه عناصر تشکیل دهنده گلخانه ها است.
با این تفاوت که حفره میانی آن قابل زیستن نیست. وقتی نور خورشید به پوسته خارجی برخورد می کند، بخشی از آن منعکس یا جذب و قسمتی از آن نیز عبور داده می شود. اشعه های خورشید که از پوسته خارجی عبور می کنند توسط پوسته داخلی جذب شده و درجه حرارت آن را بالا می برند سپس در جهات مختلف ساطع می شود. پس از مدتی درجه حرارت جداره خارجی شیشه ای با جذب پرتوهای حفره میانی و همچنین جذب قسمتی از نور خورشید بالا می رود. حال بخشی از این پرتوهای جذب شده در هر دو سمت شیشه ساطع می شوند. بخشی از این تابش بدین طریق به دام می افتد که درجه حرارت هوای فضای داخلی را به علت رسانش انتقالی بین دیواره ها و هوای پوسته ها افزایش می دهد. اثر پارامترهای مختلف نمای دو پوسته بر روی اثر گلخانه ای در تحقیقات مختلفی مورد بحث و بررسی قرار گرفته است. منابع. Wikipedia contributors, "Facade," Wikipedia, The Free Encyclopedia, (accessed February ۲۸, ۲۰۱۰).
نقطه نخستین بُعد یک اثر هنری است و در علوم مختلف دارای تعاریف گوناگونی است. نقطه از دیدگاه فیزیکی-ریاضی. موجودی است موهوم با ابعاد فیزیکیِ صفر که نه درازا دارد، نه پهنا، نه ژرفا و نه بلندا، ولیکن به طور قراردادی به وسیلهٔ لکه ای بسیار کوچک که به زحمت شایان دیدن باشد ترسیم می شود. نقطه از دیدگاه هنر. موجودیست حقیقی و واقعی که می تواند درازا و پهنا یا ژرفا داشته باشد و فقط می تواند یکی از این دو ابعاد فیزیکی-ریاضی را به خود تخصیص دهد؛ یعنی یا تنها درازا یا پهنا یا بلندا یا درازا و پهنا داشته باشد. در نتیجه از لحاظ هنری نقطه موجودی ست جاندار و دارندهٔ روح زیرا همه چیز می تواند نقطه باشد از بی نهایت کوچک تا بی نهایت بزرگ حتی انسان. مفاهیم دیگر. نقطه به عنوان ساده ترین و ناچیزترین عنصر تصویری در شرایط خاصی جلوه های تازه به خود می گیرد و نمود آن متغیر می شود و حتی ارزش تصویری تازه ای پیدا می کند. یک نقطه دارای انرژی تصویری است و هرگاه برای قوه بینایی مطرح شود و ادراک گردد موجودیت خود را اعلام کرده است. در ضمن هرگاه شروع به رشد نماید جلوهٔ خط یا عناصر دیگر را به خود می گیرد. هر نقطه ای دارای مفهوم و جلوهٔ خاص تصویری
است از جمله: دارای «مرکزیت» و «ایستا» است، به ویژه اگر به صورت واحد در سطح یا در فضا مطرح شود. هرگاه قطره ای از یک مایع رنگین، مانند جوهر، بر روی سطحی می افتد، شکلی که حاصل می شود نقطه را تصویر می کند حتی اگر به صورت دایره یا شکل هندسی مشخص نباشد. نقطه دارای انرژی است که انرژی آن بسیار متراکم و در درون آن نهفته است. در موسیقی فاصله های بین سکوت و صدا را نقطه می دانند. نقطه دارای ارزش نسبی است. بستگی دارد در چه شرایطی و در چه فضایی مطرح شده باشد. به همین جهت نقطه ممکن است گاهی به صورت سطح جلوه داشته باشد یا عکس آن اتفاق بیفتد. تراکم (تجمع). وقتی در یک تصویر، نقاط مشابه به صورت یکنواختی پراکنده شده باشند، در نتیجه جاذبهٔ بصری ایجاد نمی شود اما اجتماع و تراکم نقاط در بعضی قسمت ها توجه مخاطب را به این بخش ها در کادر بیشتر جذب کرده و تیرگی و روشنی و حرکت را در این قسمت ها به خوبی نشان می دهد. بی نهایت نقطهٔ مختلف ایجاد تاریکی روشنی می کند. بخشی که در آن تراکم نقطه کمتر است روشنتر دیده می شود و بخشی که در آن تراکم نقطه بیشتر است تیره تر دیده می شود. تفرق نقاط. از تراکم و تفرق نقاط (انبساط نقاط) می توان طرح هایی را
به وجود آورد. بدین طریق که در میان تعدادی نقطهٔ پراکنده نقاطی را به هم نزدیکتر نمود یا اینکه اندازهٔ نقاطی را نسبت به نقاط اطرافش بزرگتر در نظر گرفت. وجود نوعی ارتباط متقابل در میان آن ها برای ایجاد تأثیر مثبت و هماهنگی الزامی است در غیر این صورت عدم ارتباط میان آن ها نوعی اغتشاش بصری ایجاد خواهد شد که مانع از تأثیرگذاری متمرکز بر مخاطب می شود. تعادل. نقطه ساده ترین عنصر بصری است و نخستین و مهم ترین کارکرد آن این است که وضع و مکان را در فضا بیان می کند. موقعیت نقطه و حتی رنگ آن نیز ازنظر ترکیب در کادر بسیار حائز اهمیت است؛ برای مثال، نقطهٔ زرد به بالای کادر یا تصویر گرایش دارد و نقطهٔ آبی، به دلیل سنگینی و خوی آرامشیِ رنگش، به پایین سقوط یا رسوب می کند، و چنین است که نقطهٔ سرخ به طرف چپ و سبز به طرف راست میل می کند. تکرار منظم نقاط و ایجاد نقش ونگار. اگر گروه های چندتایی از نقاط را به عنوان یک واحد منظماً تکرار کنیم و گسترش دهیم، ایجاد نقش خواهد کرد، و این از دیگر کارکردهای نقطه است. ترتیب نقاط: حرکت بصری. از گردهم آیی پراکندگی کنارهم چیدن، بزرگ و کوچک کردن و دور و نزدیک کردن نقاط می توان احساس بصری حرکت (پی
چیده، سیال، منقطع، متصل و…) را القا کرد.
در نظریه بهینه سازی ریاضیاتی، دوگانگی بدین معنی است که مسائل بهینه سازی را می توان از هر یک از دو دیدگاه مسئلهٔ اصلی (the primal problem) و مسئلهٔ دوگان (the dual problem) نگریست (اصل دوگانگی). راه حل مسئله ی دوگان کران پایینی برای راه حل مسئلهٔ اصلی (minimization) ارائه می کند. هرچند به طور معمول دلیلی ندارد که مقادیر بهینهٔ مسائل اصلی و دوگان برابر باشند. به اختلاف این دو شکاف دوگانگی (duality gap) گویند. البته در مسائل بهینه سازی محدب (convex optimization problems)، شکاف دوگانگی تحت یک شرط می تواند صفر باشد؛ بنابراین راه حل مسئلهٔ دوگان کرانی برای مقدار راه حل مسئلهٔ اصلی است؛ وقتی مسئله محدب (convex) است و یک constraint qualification را تأمین می کند در این صورت مقدار یک راه حل بهینهٔ مسئلهٔ اصلی توسط مسئلهٔ دوگان داده می شود. تاریخچه. به گفتهٔ George Dantzig نظریهٔ دوگانگی برای بهینه سازی خطی بلافاصله پس از آنکه Dantzing مسئلهٔ برنامه ریزی خطی را ارائه داد، توسط جان فون نویمان، پیش بینی شده بود. Von Neumann اشاره کرد که از اطلاعات نظریه بازی های خودش استفاده کرده است و پیش بینی کرده که ماتریس مجموع صفر دو
نفره معادل با برنامه ریزی خطی است. ابتدا در سال ۱۹۴۸ اثبات های پیچیده ای توسط Albert W. Tucker و گروهش منتشر شد. مسئلهٔ دوگانگی Dual Problem. معمولاً مسئلهٔ دوگانگی اشاره با مسئلهٔ دو گانگی لاگرانژی دارد؛ ولی مسائل دوگانگی دیگری نیز، مانند و مسئله ی دوگانگی Fenchel، مورد استفاده قرار می گیرند. مسئلهٔ دوگانگی لاگرانژی با تشکیل لاگرانژین (Lagrangian)، با استفاده از ضرایب نامنفی لاگرانژی، به منظور افزودن قیدها به تابع هدف و سپس حل کردن آن برای برخی مقادیر متغیر اصلی که لاگرانژین را کمینه می کند، به دست می آید. این راه حل متغیرهای اصلی (the primal variables) را به عنوان تابعی از ضرایب لاگرانژ ارائه می دهد که به آن ها متغیرهای دوگان (dual varibales) می گویند؛ بنابراین مسئلهٔ جدید این است که تابع هدف را نسبت به متغیرهای دوگان در شرایط حاصل از متغیزهای دوگان (مثلاً حداقل نامنفی بودن آنها) بیشینه کنیم. معمولاً با داشتن دو زوج دوگانه (dual pairs) از فضاهای محدب محلی مجزا (separated locally convex spaces) formula_1 و formula_2 و تابع formula_3 می توانیم مسئلهٔ اصلی (primal problem) را به صورت یافتن formula_4 به طوری ک
ه formula_4 برابر formula_6، تعریف کنیم. اگر constraint conditions وجود داشته باشد، امکان اعمال آن ها به تابع formula_7 به واسطهٔ قرار دادن formula_8 که در آن formula_9 تابع مشخصه (indicator function) است وجود دارد. آنگاه formula_10 را به عنوان یک تابع اغتشاش (perturbation function) به صورتی که در آن formula_11 است، در نظر گرفت. شکاف دوگانگی عبارت از اختلاف سمت راست و چپ نامعادلهٔ formula_12 است که در آن مزدوج محدب (convex conjugate) در هر دو متغیر و formula_13 نشانگر سوپریمم (کوچکترین کران بالا) است. شکاف دوگانگی (duality gap). شکاف دوگانگی عبارت از تفاوت بین متغیرهای هر راه حل اصلی و هر راه حل دوگان است. اگر formula_14 مقدار دوگان ی بهینه و formula_15 مقداراصلی ی بهینه باشد، آنگاه شکاف دوگانگی برابر formula_16 است. این مقدار همیشه بزرگتر با مساوی صفر است. شکاف دوگانگی صفر است اگر و تنها اگر دوگانگی قوی (Strong duality) وجود داشته باشد. در غیر اینصورت شکاف اکیداً مثبت است و دوگانگی ضعیف (weak duality) وجود دارد. در بهینه سازی رایانشی (computational) یک شکاف دوگانگی دیگر نیز معمولاً مطرح است که برابر اختلاف م
قدار بین هر راه حل دوگان و مقدار یک تکرار (iterate) امکان پذیر ولی زیر بهینه (suboptimal) برای مسئلهٔ اصلی می باشد. این شکاف دوگانهٔ جایگزین اختلاف بین مقدار یک تکرار امکان پذیر، ولی زیر بهینهٔ فعلی برای مسئلهٔ اصلی و مقدار مسئلهٔ دوگان، را محدود می کند؛ مقدار مسئلهٔ دوگان، در شرایطregularity conditions برابر با مقدارconvex relaxation مسئلهٔ اصلی است: Convex relaxation موجب مطرح شدن مطلب ذیل می شود: جایگزین کردن یک مجموعهٔ امکان پذیر غیر محدب (a non-convex feasible set) با پوش محدب بستهٔ (closed convex hull) آن، و با جایگزین کردن یک تابع غیر محدب با Convex closure آن که تابعی است که این سرلوحه (epigraph) را دارد که عبارت از پوش محدب بستهٔ تابع اصلی هدف اصلی است. مورد خطی the linear case. مسائل برنامه ریزی خطی، مسائل بهینه سازی هستند که در آن ها تابع هدف و محدودیت ها همگی خطی اند. در مسائل اصلی تابع هدف یک ترکیب خطی از "n" متغیر است. در چنین مسائلی "m" محدودیت وجود دارد که هر کدام یک کران بالا بر ترکیب خطی "n" متغیر اعمال می کند. مقصود بیشینه کردن مقدار تابع هدف مربوط به محدودیت هاست. یک "راه حل" عبارت است از
برداری (یک لیست) از "n" مقدار که مقدار بیشینه برای تابع هدف را حاصل می کند. در مسئلهٔ دوگان، تابع هدف یک ترکیب خطی از "m" مقدار است که مشخص کنندهٔ محدودهٔ "m" محدودیت مسئلهٔ اصلی است. "n" محدودیت دوگان وجود دارند که هر کدام یک کران پایین بر ترکیب خطی "m" متغیر دوگان اعمال می کند. رابطهٔ بین مسئلهٔ اصلی و مسئلهٔ دوگان. در حالت خطی در مسئلهٔ اصلی از هر نقطهٔ زیر بهینهٔ که تمام محدودیت ها را فراهم می کند یک جهت یا زیر فضایی از جهت ها برای حرکت وجود دارد که تابع هدف را افزایش می دهد. آنچنان که بیان شده است حرکت کردن در هر چنین جهتی، تفاوت بین راه حل پیشنهادی و یک یا چند محدودیت را حذف می کند. یک "امکان ناپذیر" از راه حل پیشنهادی همانی است که از یک یا چند محدودیت فراتر می رود. در مسئلهٔ دوگان، بردار دوگان ضرب می کند ثابت هایی را که موقعیت محدودیت ها را در مسئلهٔ اصلی مشخص می کنند. تغییر دادن تابع دوگان در مسئلهٔ دوگان معادل با بازبینی کران های بالا در مسئلهٔ اصلی است. به این ترتیب کوچکترین کران بالا یافت می شود. به این معنا که بردار دوگان کمینه شده تا تفاوت بین مکان پیشنهادی محدودیت ها و موقعیت بهینهٔ واقعی از میا
ن بردارد. یک مقدار امکان ناپذیر از بردار دوگان آنی است که خیلی کم است. چنین مقداری موقعیت های پیشنهادی یک یا تعداد بیشتری از محدودیت ها را در جاهایی که موقعیت بهینهٔ واقعی را در بر نمی گیرد، تعیین می کند. این شهود به وسیلهٔ معادلات برنامه ریزی خطی: دوگانگی (Linear programming: Duality) به صورت فرمال درآمده است. تفسیر اقتصادی. اگر مسئلهٔ اصلی برنامه ریزی خطی را به عنوان مسئلهٔ تخصیص منابع کلاسیک در نظر بگیریم، دوگان آن را می توان به عنوان مسئلهٔ ارزش گذاری منابع در نظر گرفت. حالت غیر خطی. در برنامه ریزی غیر خطی محدودیت ها الزاماً خطی نیستند. با این حال، بسیاری از همان اصول صدق می کنند. به منظور کسب اطمینان از اینکه مقدار بیشینهٔ سراسری یک مسئلهٔ غیر خطی می تواند به آسانی یافت شود، فرمولاسیون مسئله معمولاً به این نیاز دارد که تابع محدب بوده و مجموعه های سطح پایین فشرده داشته باشد. این اهمیت شرایط Karush–Kuhn–Tucker را نشان می دهد. این شرایط، شرط های ضروری برای یافتن بهینه های محلی برای مسائل برنامه ریزی غیر خطی را ارائه می دهد. همچنین شرایط اضافه ای وجود دارند (constraint qualification) که به منظور امکان پذیر ش
دن تعریف جهتی به سوی راه حل بهینه، ضروری اند. یک راه حل بهینه آنی است که یک بهینهٔ محلی است ولی احتمالاً یک بهینهٔ سراسری نیست. اصل قوی لاگرانژی: دوگانگی لاگرانژی. برای یک مسئلهٔ برنامه ریزی غیر خطی داده شده با فرم استاندارد با دامنهٔ formula_18 که Interior غیر تهی، دارد، "تابع لاگرانژین" formula_19 به صورت formula_20 تعریف می شود. بردارهای formula_21 و formula_22 را "متغیرهای دوگان" یا "بردارهای ضرایب لاگرانژ" مرتبط با مسئله می نامند. "تابع دوگان لاگرانژ" formula_23 به صورت formula_24 زیر تعریف می شود. تابع دوگان "g" مقعر است حتی هنگامی که مسئلهٔ آغازین محدب نیست. تابع دوگان کرانهای پایین مقدار بهینهٔ formula_15 مسئلهٔ آغازین را می دهد؛ برای formula_26 هر و هر formula_22 داریم: formula_28 اگر یک constraint qualification مثل شرط Slater برقرار باشد و مسئلهٔ اصلی مقعر باشد آنگاه دوگانگی قوی داریم، یعنی formula_29. مسائل محدب. برای یک مسئلهٔ کمینه سازی محدب با شرایط نامعادلهٔ مسئلهٔ دوگان لاگرانژیformula_31 است که تابع هدف تابع دوگان لاگرانژ است. به شرط این که توابع formula_7 و formula_33 به صورت پیوسته مشتق پذی
ر باشند، اینفیمم هنگامی که گرادیان برابر صفر باشد رخ می دهد. مسئلهٔ formula_34 مسئلهٔ دوگان Wolfe نامیده می شود. شاید حل این مسئله با کامپیوتر دشوار باشد، زیرا تابع هدف در متغیرهای مشترک formula_35 مقعر نیست. همچنین شرط تساوی formula_36 معمولاً غیر خطی است، بنابراین مسئلهٔ دوگان Wolfe به طور معمول یک مسئلهٔ بهینه سازی غیر مقعر است. در هر صورت دوگانگی ضعیف برقرار است. حل مسئله بهینه سازی از طریق دوگان. در حل مسئله بهینه سازی به روش معادل سازی، یک مسئله معادل برای مسئله استاندارد تعریف می کنیم که پاسخ آن بسیار راحت تر از مسئله اولیه به دست می آید؛ برای به دست آوردن مسئله معادل روند مشخصی وجود ندارد اما برای برخلاف آن در حل مسئله بهینه سازی از طریق دوگان یک روند مشخص برای به دست آوردن مسئله دوگان وجود دارد. برای هر مسئله بهینه سازی می توان یک معادل محدب تعریف کرد. . پاسخ این مسئله یک کران پایین روی مسئله اصلی ارائه می دهد و در حالت محدب دقیقاً همان جواب است. مسئله اصلی. فرم استاندارد یک مسئله بهینه سازی به صورت زیر می باشد:formula_37formula_38به این مسئله، مسئله اصلی می گویند. متغیر بهینه سازی formula_4، را پارا
متر اولیه گویند. formula_40 قیود نامساوی می باشند. تابع لاگرانژی. تابع لاگرانژی که یک مجموعه وزن دار از تابع هدف و قیود است را بفرم زیر نمایش می دهند:formula_41لاگرانژی تابعی از پارامتر اولیه و یک متغیر اضافه formula_42 می باشد که به آن متغیر دوگان گویند. تابع دوگان. با کمک تابع لاگرانژی می توان یک تابع جدید (تنها از متغیر دوگان) بنام تابع دوگان ساخت. این تابع را می توان بفرم زیر نمایش داد:formula_43g به صورت حداقل نقطه ای تعریف می شود پس مقعر است. به ازای هرformula_44 داریم:formula_45 . تابع formula_46 کران پایینی از تابع هدف در ناحیه شدنی ارائه می دهد را ارائه می دهد. در این حالت می توان مسئله دوگان را به صورت ضمنی حل کرد. در واقع مسئله فوق نامقید، با تابع هدف محدب (از متغیرformula_4) است، بنابراین بهینهٔ سراسری را می توان با برابر صفر قرار دادن مشتق تابع هدف نسبت به formula_4 به دست آورد. مسئله دوگان. از آنجا که کران پایین برای هر formula_49 صادق است، باید به دنبال بهترین آن بود، که آن بزرگترین کران پایین است:formula_50به دست آوردن کران پایین از طریق مسئله دوگان ساده تر است زیرا محاسبه formula_51 با قیود ک
متری همراه است. مسئله پیدا کردن بهترین کران پایین به صورت زیر تعریف می شود:formula_52این مسئله، مسئله دوگان نامیده می شود. مقدار بهینه آن formula_14، مقدار بهینه دوگان نام دارد. همان طور که در بالا بیان شد، formula_46 مقعر است. این به آن معنی است که مسئله دوگان، که شامل حداکثرسازی formula_46، یک مسئله بهینه سازی محدب می باشد. مسائل با قیود تساوی. در این حالت یک قید دیگر به صورت formula_56به مسئله اصلی افزوده می شود. برای حل آن به روش دوگان، متغیر دوگان formula_57 را تعریف می کنند و باکمک آن تابع دوگان را تشکیل می دهیم؛ یعنی در تابع دوگان جمله formula_58 افزوده می شود. متغیر formula_57 شرط formula_60 را ندارد.
واگذاری یا تفویض در برنامه نویسی شیءگرا، به «ارزیابی» یک عضو (ویژگی یا شگرد) از یک شیء (گیرنده) در زمینه شیء اصلی دیگر (فرستنده) گفته می شود. واگذاری را می توان به صورت صریح انجام داد، در این حالت شیء فرستنده به شیء گیرنده ارسال می شود، این موضوع را می توان در هر زبان شیءگرا انجام داد؛ یا اینکه واگذاری را به صورت ضمنی انجام داد، این کار از طریق «قواعد جستجوی عضو» در آن زبان انجام می شود، که نیاز به پشتیبانی هایی توسط آن زبان در آینده دارد. واگذاری ضمنی، شگرد اساسی برای استفاده مجدد از رفتار، در برنامه نویسی مبتنی بر پیش الگو است، و این موضوع مشابه با وراثت در برنامه نویسی مبتنی بر کلاس است. معروف ترین زبان هایی که از واگذاری در سطح زبان پشتیبانی می کنند، در درجه اول، زبان سلف است که از مفهوم واگذاری از طریق مفهوم « ی والد » استفاده می کند، این اسلات ها، بر اساس جستجوی شگرد در «فراخوانی های خودی» استفاده می شوند، و سپس زبان جاوا اسکریپت است ( را ببینید). نماینده ها در سی شارپ در یک نگاه می توان گفت نماینده ها (Delegates) نوع داده ای در دات نت هستند که برای نگهداری آدرس متدها استفاده می شوند. اینچنین متصور بشید
که یک متغیر از یک نوع داده ایِ نماینده (delegate) تعریف می کنید، سپس تعدادی متد (هم امضاء با نماینده) را به آن اضافه می کنید. سپس با invoke کردن، همه متدها اجرا می شوند. " دقت شود که متدها سریال و نه موازی اجرا می شوند. معمولاً به ترتیب اضافه کردن. " امضای متد. هر متد دارای یک نوع داده ای برگشتی (void راهم یک نوع داده ای در نظر بگیرید) و صفر یا چند آرگومان ورودی/خروجی می باشد. این دو ویژگی امضای یک متد نامیده می شود. توجه شود که تعداد آرگومان ها، نوع داده ای آرگومان ها، ورودی یا خروجی بودن آرگومان و جابه جایی موقعیت آرگومان ها امضای متد را تغییر می دهند. در سی شارپ ما قادر به نوشتن متدهای بی نام و نوع های داده ای نامشخص (ANONYMOUS Types) هستیم. سی شارپ در این زمینه کاملاً قوی عمل می کند. تعریف نماینده و ثبت متدها در متغیر نماینده. شیوه تعریف یک نماینده به صورت زیر است: public delegate void MyDelegate(int n); از تعریف بالا متوجه می شویم که این نماینده متدهایی که امضای آن ها شامل: نوع برگشتی void و یک آرگومان ورودی از نوع int باشد را می پذیرد. نماینده ها یک نوع داده ای مستقل هستند یعنی می توان آن ها را مثل کلا
س ها و شمارنده مستقیماً در یک فضای نام (namespace) ایجاد کرد و لزومی ندارد که حتماً داخل یک کلاس تعریف شوند. تعریف نماینده در یک فرم ویندوزی namespace Rme_Delegates public delegate void MyDelegate(int n);// تعریف نماینده public partial class Form1: Form private MyDelegate _delVar;// تعریف متغیر از روی نماینده public Form1() InitializeComponent(); private void MethodXWYZ(int no) this.listBox1.Items.Add("MethodXWYZ: "+no); protected virtual void MethodEXPse(int pwr) this.listBox1.Items.Add("MethodEXPse: " + (pwr * pwr)); }; متغیر خصوصی _delVar در شروع کار مقدار null دارد. متد تعریف شده را با علامت + به _delVar اضافه می کنیم: _delVar += new MyDelegate(this.MethodXWYZ); به نحوه اضافه کردن متد به متغیر نماینده توجه کنین!!! فقط نام متد به تنهایی لازم است. کلمه this اختیاری است. و خلاصه تر: روش اول گویا تر است _delVar += this.MethodXWYZ; _delVar += this.MethodEXPse; روش حذف متد نیز استفاده از - (منها) است بدین صورت: _delVar -= this.MethodXWYZ; _delVar -= this.MethodEXPse; در ضمن: اگه نیاز به ثبت فقط یک متد در متغیرن
ماینده دارید از = (مساوی، انتساب) استفاده کنید: _delVar = this.MethodEXPse; فراخوانی (invoke) متدهای یک متغیر نماینده. قبل از فراخوانی هر متغیر نماینده باید از تهی نبودن آن اطمینان حاصل کنید. این مسئله در برنامه های چند نخی خیلی بیشتر مورد نیاز است. فراخوانی یک متغیر نماینده ای همانند فراخوانی متد می باشد با این تفاوت که این بار پرانتز را جلوی یک متغیر باز می کنیم نه یک متد! مثال زیر نحوه فراخوانی را نمایش می دهد: if (_delVar != null) _delVar(25); بدین طریق متدهای ثبت شده در متغیر یکی پس از دیگری با مقدار (اینجا ۲۵) اجرا می شوند. متدهای بی نام. نحوه اضافه کردن (ثبت کردن) متد به نماینده ها در (۲ تعریف نماینده و ثبت متدها در متغیر نماینده) توضیح داد شد. اما در برنامه نویسی های حرفه ای همیشه روال کار بدین صورت نیست. تعریف زیاد متدهای کوچک وقت گیر و باعث پیچیده تر شدن کد و در نهایت سردرگمی می شود. متدهای بی نام ترفندی است که کامپایلر سی شارپ و نه صرفاً CRL جهت رفع این مشکل به کار می برد. این مورد در LINQ بیشتر فواید خود را نشان می دهد. در کل زمانی که به متدهای خطی نیاز باشد و آدرس و نام و نشان متد مهم نباشد از مت
دهای بی نام استفاده می شود. متدهای بی نام در دو دسته قرار می گیرند: متدهای زیر را در نظر بگیرید: private static void methodOne() Console.WriteLine("Empty method"); private static void methodTwo(int number) if (number &gt;= ۱۰) Console.WriteLine("Yes"); else Console.WriteLine("No"); private static void methodThree(int number, bool state) if (number &gt;= ۱۰) Console.WriteLine(state ? "Yes": "No"); else Console.WriteLine(state ? "True": "False"); برای هر سه متد نماینده متناسب را تعریف می کنیم: internal delegate void DelegateOne(); internal delegate void DelegateTwo(int n); internal delegate void DelegateThree(int n, bool b); نحوه تعریف متغیرهای نماینده ای و ثبت متدها و اجرای آن ها بدین صورت است: DelegateOne d1 = Program.methodOne; DelegateTwo d2 = Program.methodTwo; DelegateThree d3 = Program.methodThree; d1(); d2(10); d3(10, true); Console.ReadKey();//pause screen تا به حال روش استاندارد که در بخش قبل توضیح داده شده بود را مرور کردیم. همین کار را با متدهای بی نام و با کلمه کلیدی delegate انجام می دهیم: تعریف و
استفاده از متدهای بی نام DelegateOne d1 = delegate { Console.WriteLine("Empty method"); }; DelegateTwo d2 = delegate(int number) if (number &gt;= ۱۰) Console.WriteLine("Yes"); else Console.WriteLine("No"); DelegateThree d3 = delegate(int number, bool state) if (number &gt;= ۱۰) Console.WriteLine(state ? "Yes": "No"); else Console.WriteLine(state ? "True": "False"); d1(); d2(10); d3(10, true); Console.ReadKey();//pause screen در اینجا نیازی به تعریف متدها درون کلاس نیست و به صورت خطی در جلوی نمایندهٔ مربطه تعریف می شوند. دقت شود که نوشتن کلمه delegate اجباری است همچنین برای متدهای دارای آرگومان نوشتن نوع آرگومان ها اجباری است. عبارت لاندا Lambda Expression. با توجه به تعریف ها مثال (متدهای بی نام) عبارت لاندا را در مثال اینچنین بیان می کنیم: DelegateOne d1 = () =&gt; Console.WriteLine("Empty method"); DelegateTwo d2 = (number) =&gt; if (number &gt;= 10) Console.WriteLine("Yes"); else Console.WriteLine("No"); DelegateThree d3 = (number, state) =&gt;// first if (number &gt;= 10) Console.WriteLine(state ? "Yes":