Dynamic Modelling for Supply Chain Management
بخشی از مقاله انگلیسی:
INTRODUCTION __ SEMoLa (Simple, Easy to use, MOdelling LAnguage), developed by Francesco Danuso at the Department of Agricultural and Environmental Sciences of the University of Udine (Italy) with many contributions by other researchers, is a simulation and modelling environment to create computer models for dynamic systems. It is logically formed by three components: a) a non-procedural syntax for model coding; b) a command set to create and evaluate computer simulation models; c) a GUI environment to manage the simulation environment. The commands allow to document the model, to display simulation results, to perform sensitivity and uncertainty analysis. The management of the modelling environment is accomplished by commands for set, display and clear the variables of the modelling environment, for quick editing the model files, to create files for multiple simulations, to display SEMoLa files and to log the working session. An error handling system and an extensive on-line help is also available. SEMoLa is a simple simulation meta-language. Model coded in SEMoLa are translated into Basic or C++ code and then compiled into executable files. The Basic code is to be compiled by the Power Basic Console Compiler 1.0 or higher (PowerBasic); the C++ code is to be compiled by MinGW 2.0.0-3 A package of tools like neural network generation, regression analysis, model units checking, has been developed to extend SEMoLa capabilities and offer to the user a more powerful modelling and analysis environment Exogenous variable files (input variables) can be loaded and processed if requested. Multiple simulation runs (batch simulation) may be performed in relation to different initial values, parameter sets, exogenous variables or event scenarios (or combinations). In the simulation phase it is possible to obtain the sensitivity analysis, the parameter calibration (Gauss – Newton optimisation method) and the model validation against independent data. SEMoLa allows the user to represent the system aspects in a conceptual rather than computational order. This makes the code more readable and the errors easier detectable. A SEMoLa model may directly produce presentation tables and lists of variables and parameters by using the specific commands. The commands for compilation and simulation derive from the command simula (Danuso, 1992). FEATURES OF SEMoLa • Non procedural programming language for dynamic models • Generation of stand-alone, self-calibrating model executables • Numerical integration of ordinary differential equations (euler, trapezoidal) • Complete handling of the exogenous (input) variables • Event handling capability (conditional, periodical, scheduled) • Multiple simulations (batch simulations) • Parameter calibration and optimisation (Gauss-Newton); • Multiple calibration • Sensitivity analysis; • Model validation; • Support for simulation experiments • Support for uncertainty analysis and Monte Carlo simulations • Errors checking in compilation and in run-time phases • Model documentation (tables, listings, where used) • Model structuring by sections • Management of the modelling environment • Automatization of procedures with command scripts • Help for language syntax, procedure and commands • Log files for SEMoLa sessions and model runs • Multiple and non-linear regression • Neural networks training and building with easy integration in simulation models • Neural networks available as Basic and C++ source code • Model code editor with specific highlighting • Semantic and formal automatic debugging • Automatic units (dimensional) consistency check • Automatic documentation building for each model, in *.chm format • Simulation experiments and scenario analysis • Random variables generation from multiple distribution (normal and non-normal) • User defined functions generation and management • Fuzzy logic expert system development as user functions • Statistical analysis on observed and simulated data • Observed and simulated data plotting SEMoLA FRAMEWORK SEMoLa is a modelling framework for knowledge integration. It consist of a) a non-procedural syntax for model coding (SEMoLa language); b) a set of commands to perform all tasks in both intaractive and batch (script) mode; c) a GUI environment to manage the simulation environment d) a built-in database management system (SemData) e) a plotting capability (SemPlot, based on Gnuplot) f) a specific editor (SemEdit) A SEMoLa model is a text file in which every row completely describes a system component
بخشی از ترجمه فارسی:
SEMoLa (ساده ،کاربرد آسان ، زبان مدلینگ ) بوسیله فرانسسکو دانوسو در رشته کشاورزی و در دانشکده علوم دانشگاه یوداین ایتالیا وبا همکاری تعداد زیادی از محققین پیاده سازی شده است ، یک شبیه ساز که محیط مدلسازی در ساخت مدلهای کامپیوتری برای سیستم های پویاست.نرم افزار مذکور قالب بندی شده بوسیله 3 جزء :
دستورات به مستندات مدل اجازه می دهند برای نشان دادن نتایج شبیه سازی برای اجرای آنالیز های حساس و نا معلوم.مدیریت محیط مدلینگ بوسیله دستوراتی برای ست کردن ، نشان دادن ، پاک کردن متغیرهای محیط مدلینگ ، برای ویرایش سریع فایلهای مدل ، برای ایجاد فایلهایی برای شبیه ساز چند رسانه ای ، برای نشان دادن فایلهای SEMoLa و برای سرعت سنجی جلسه کاری به انجام می رسد.
همچنین دارای یک سیستم Error یابی و یک on-line help گسترده در دسترس ، می باشد. SEMoLa یک شبیه ساز ساده فرا زبان است. کد های مدل شده در SEMoLa ، به زبان های Basic و C++ ترجمه شده اند و سپس بصورت فایلهای اجرائی کامپایل می شوند . کدهای زبان Basic توسط کنسول کامپایلر Basic 1.0 وکد های C++ بوسیله کامپایلر MinGW 2.0.0-3 کامپیل می شوند.
یک مجموعه ای از ابزارها مانند ابزار های شبیه سازی شبکه های عصبی ،ابزار های تجزیه تحلیل بصورت باز گشتی ،ابزارهای چک کردن مدل و دیگر ابزار ها برای گسترش دادن توانائی های SEMoLa تجهیز شده اند و امکان مدلینگ و تجزیه و تحلیل بصورت قدرتمند تر را به کاربر، می دهد.
درصورت نیاز ، فایلهای متغیر خارجی (متغیر های ورودی) نیزتوسط SEMoLa قادر به لود شدن و پردازش هستند . شبیه سازی های چند گانه یا دسته ای ممکن است در ارتباط با یکدیگر اجرا شوند ولی بدین صورت که مقادیر درونی مختلف ، مجموعه پارامتر ها ، متغیر های بیرونی و یا سناریو های رخدادها در نتیجه اجرای آنها بصورت خروجی مشترک ، قابل استفاده باشند . در فاز شبیه سازی برای بدست آوردن آنالیز های حساس مانند پارامترهای اندازه گیری خوشبینانه نیوتن ، و درستی مدل در مقابل داده های مستقل ، از این تکنیک استفاده می شود .
SEMoLa به کاربر اجازه می دهد تا ظاهر سیستم را بیشتر در قالب تصور نشان دهد تا محا سبات در خواستی. این باعث می شود که کد بیشتر قابل خواندن باشد و نیز قابلیت خطا یابی افزایش می یابد.
یک مدل SEMoLa ممکن است بطور مستقیم با استفاده از دستورات ویژه ای ، در خروجی ، جدولهای قابل ارائه ، لیستی از متغیر ها وپارامترها را تولید کند.
این دستورات جهت کامپایل و شبیه سازی ، از دستورات کامپایلر simula که توسط دانوسو در سال 1992 ساخته شده ، برگرفته شده اند.