Simulasi

 

Apa Simulasi
Simulasi terus menerus
Simulasi diskrit
Berorientasi objek simulasi
Pada Simulasi Baris
Referensi

Apa Simulasi

Pada tingkat Simulasi yang paling umum harus dianggap sebagai bentuk Kognisi. (Kognisi = tindakan atau proses memperoleh pengetahuan.) Ada tiga metode dasar bagaimana untuk mendapatkan informasi (pengetahuan) dari realitas obyektif: Percobaan, Analisis, Simulasi. Mari kita ambil satu contoh praktis untuk menunjukkan sifat ketiga metode. Sistem yang diteliti adalah sebuah pompa bensin dengan satu petugas. Pertanyaannya adalah "apa yang rata-rata waktu yang dihabiskan oleh mobil di SPBU". Untuk mendapatkan jawabannya kita memiliki tiga kemungkinan:

Percobaan : mengambil menghentikan jam tangan dan mengukur waktu setiap mobil menghabiskan di stasiun. Menghitung mobil, di sum akhir setiap saat dan membagi mereka dengan jumlah mobil.

Analisis : menggunakan rumus Teori Antrian untuk menghitung rata-rata waktu yang dihabiskan dalam sistem secara langsung. Untuk menggunakan rumus Anda akan harus menganggap model antrian tertentu yang berarti penyederhanaan sistem nyata dan Anda akan memerlukan beberapa parameter kuantitatif (intensitas kedatangan di sini - jumlah mobil tiba per satuan waktu dan intensitas layanan - jumlah mobil dilayani per waktu satuan).

Simulasi : menulis sebuah model simulasi yang menghasilkan acak kedatangan mobil dan durasi layanan. Hal ini juga harus urutan benar semua kegiatan untuk memiliki korespondensi satu-ke-satu dengan sistem nyata. Pengamatan juga, pengumpulan data statistik, dan evaluasi harus diprogram (untuk setiap mobil menghitung waktu yang dihabiskan, menumpuk kali ini, menghitung jumlah mobil, di compute akhir dan menampilkan rata-rata).

Ketiga metode tidak dapat peringkat karena mereka semua memiliki kelebihan dan kekurangan. Mereka dapat dibandingkan hanya dalam konteks kasus tertentu tertentu dengan mempertimbangkan berbagai kriteria. Namun demikian beberapa fakta dasar yang jelas:

Percobaan selalu metode yang paling akurat, yang harus digunakan setiap kali layak. Sayangnya sangat sering percobaan adalah: 
- Terlalu berbahaya (perilaku reaktor nuklir dalam situasi kritis, mendarat dengan pesawat dengan satu jet off, dll) 
- Terlalu mahal (semua kasus yang menyebabkan kerusakan yang, percobaan panjang mempelajari throughput data jaringan dengan menggunakan leased line telepon, dll) 
-. tidak mungkin sama sekali jika sistem sedang diselidiki tidak tersedia (evaluasi alternatif lebih mungkin dalam tahap desain)

Analisis (kebanyakan matematika) biasanya didasarkan pada asumsi yang kuat bahwa jarang benar dalam kehidupan praktis. Kelemahan lain yang mungkin dari metode analisis adalah aparat terlalu rumit digunakan dan / atau terlalu memakan perhitungan waktu. Contoh dari ini adalah analisis Antrian Networks. Di sisi lain menggunakan rumus memberikan hasil yang kebanyakan cepat dan mungkin untuk memeriksa sejumlah besar alternatif dengan hanya memasukkan nilai yang berbeda dari parameter dengan rumus (e). Metode eksperimental sebagian besar jauh lebih memakan waktu. Masalah lain dari analisis adalah ketersediaan parameter yang diperlukan. Pengukuran yang tepat mereka juga belum tentu layak atau tidak mungkin dalam tahap desain. Menggunakan estimasi data atau data yang diambil dari sistem serupa lainnya menurun kredibilitas hasil.

Simulasi juga merupakan metode eksperimental. Alih-alih bereksperimen dengan sistem nyata percobaan dilakukan dengan model simulasi (yang desain demikian titik kunci dari studi simulasi). Juga simulasi memiliki banyak kelemahan. Berikut adalah yang paling penting: 
- Terlalu menuntut penciptaan model simulasi. Model simulasi pemrograman dalam bahasa umum (seperti Pascal) terlalu sulit. Ada bahasa simulasi efisien tapi mastering mereka merupakan investasi awal yang besar tidak selalu dibenarkan. Ada alat simulasi berdasarkan biasanya pada beberapa teknik grafis yang menyederhanakan atau bahkan mengotomatisasi penciptaan model simulasi kelas tertentu sistem.Jika Anda ingin mempelajari lebih lanjut tentang salah satu alat tersebut, lanjutkan ke halaman Petri Nets . 
- Pengetahuan terbatas dari sistem yang disimulasikan. Pertama-tama beberapa parameter kuantitatif harus diketahui. Dalam contoh di atas perlu untuk menghasilkan interval acak antara kedatangan dan waktu pelayanan acak. Berikut simulasi jauh lebih fleksibel daripada analisis - bahasa simulasi mendukung generasi nomor acak dengan hampir semua distribusi. Dalam contoh di atas kedua tokoh acak dapat didasarkan pada setiap (misalnya eksperimen diperoleh) distribusi. Namun demikian distribusi setiap kebutuhan baik beberapa parameter (jika itu adalah satu teoritis) atau langsung Fungsi Distribusi (jika distribusi diperoleh dengan mengukur). Ada dapat juga hal-hal dalam sistem (biasanya dalam tahap desain) yang tidak dapat diukur dan sering perlu untuk menerima kenyataan bahwa mungkin ada aspek yang kita tidak menyadari sama sekali. 
- Terlalu memakan perhitungan waktu. Contohnya adalah analisis sistem skala besar dengan banyak komponen yang bekerja secara paralel. Karena aplikasi paralelisme nyata masih tidak umum, sistem tersebut disimulasikan dengan program yang dilakukan oleh prosesor tunggal. Kegiatan paralel kemudian dilakukan satu per satu (bahkan jika pengguna memiliki kesan paralelisme dan selama desain model simulasi "berpikir secara paralel"). Hasil ini adalah kenyataan bahwa simulasi bisa jauh lebih lambat dibandingkan dengan real time (1 detik dari waktu model yang membutuhkan waktu 10 menit dari waktu CPU). Hal ini tentu saja menonaktifkan aplikasi simulasi dalam kontrol real time.

Seorang jenderal aturan praktis bisa seperti itu: 
.. "Jika percobaan ini layak, menggunakannya Itu selalu metode terbaik karena semua aspek yang diperhitungkan Bahkan jika metode lain yang digunakan selama tahap desain, percobaan dapat berfungsi sebagai evaluasi akhir dari sistem. Jika percobaan ini tidak layak mencoba untuk menemukan metode analisis yang tepat. Jika tidak tersedia, menggunakan simulasi. " 
simulasi ini tidak hanya pilihan terakhir seperti yang terlihat seperti dalam aturan di atas. Simulasi dapat berkontribusi sangat banyak untuk memahami sistem yang dianalisis tidak hanya dengan menyediakan jawaban atas pertanyaan-pertanyaan yang awalnya diberikan. Sangat sering penciptaan model simulasi adalah kesempatan pertama di mana hal-hal tertentu yang diperhitungkan. Spesifikasi dari sistem simulasi dapat (dan sering itu) mengungkapkan kesalahan atau ambiguitas dalam desain sistem. Jadi simulasi dapat membantu sangat banyak dengan menghindari masa memperbarui sangat mahal dari sistem siap.

Kembali ke Pos
Kembali ke Home page

Simulasi terus menerus

bahasa simulasi terus menerus dikembangkan di akhir lima puluhan sebagai simulator komputer Analog. Simulasi di komputer analog didasarkan pada menciptakan sistem elektronik analog yang perilakunya digambarkan oleh model matematika yang sama (set persamaan diferensial) sebagai sistem yang sedang diselidiki. Sistem elektronik yang dibuat oleh interkoneksi blok standar sebagian besar didasarkan pada penguat operasional dimodifikasi untuk bertindak sebagai integrator, penambah, dan unit fungsional lainnya. Kemudian pengguna melakukan percobaan dengan sistem elektronik ini dengan menerapkan input yang sesuai dan merekam tegangan pada titik-titik keluaran tertentu (osiloskop, plotter). Perubahan tegangan merupakan fungsi waktu, yang sama dengan fungsi yang menggambarkan perubahan dalam sistem yang asli yang fisik alam mungkin benar-benar berbeda (mekanik perpindahan, suhu, dll). Masalah utama dari komputer analog merupakan implementasi analog dari operasi tertentu seperti perkalian, generasi beberapa fungsi, generasi penundaan dan lain-lain. komputer digital melakukan semua fungsi-fungsi ini sangat mudah dan hari simulasi terus menerus dilakukan hanya pada mereka. Namun demikian ada satu operasi di mana komputer analog yang lebih baik - integrasi. komputer digital menggunakan integrasi numerik yang umumnya lebih lambat dan kurang akurat dibandingkan dengan integrasi integrator analog. Beberapa aplikasi khusus berdasarkan penggunaan respon cepat oleh karena itu disebut Hybrid komputer, yang berisi analog dan bagian digital yang terhubung dengan A / D dan D / A converter. Bagian digital melakukan segala sesuatu kecuali integrasi. Ini menghitung masukan dari integrator, yang kemudian diubah oleh D / A konverter untuk sinyal analog diinput ke integrator analog.output mereka diperlakukan dengan cara yang berlawanan. Bagian digital juga mengontrol interkoneksi dari bagian analog, yang dengan demikian dapat berubah selama perhitungan.

Klasifikasi berkelanjutan Simulasi Bahasa

Berorientasi blok bahasa simulasi didasarkan pada metodologi komputer analog. Sistem ini harus dinyatakan sebagai diagram blok yang mendefinisikan interkoneksi dari unit fungsional dan parameter kuantitatif mereka. "Pemrograman" berarti memasuki interkoneksi dari blok dan deskripsi mereka. Maka pengguna menambahkan pernyataan dan / atau arahan yang mengontrol simulasi. Jika sistem ini digambarkan sebagai satu set persamaan, mereka harus dikonversi ke diagram blok. Konversi ini adalah proses langsung yang sederhana. Blok khas tersedia di sebagian besar bahasa berorientasi blok kontinu integrator, pembatas, penundaan, pengganda, hysteresis, nilai-nilai konstan, penambah, pemegang, gain (koefisien) dan lainnya.

Ekspresi berorientasi bahasa berkelanjutan didasarkan pada penulisan ekspresi (persamaan) yang mewakili model matematika. Jadi sistem simulasi harus dinyatakan oleh satu set persamaan. Maka pengguna menambahkan pernyataan dan / atau arahan yang mengontrol simulasi. Beberapa bahasa memungkinkan kedua blok dan ekspresi cara berdasarkan definisi sistem. Kontrol simulasi berarti pemilihan: metode integrasi (karena beberapa bahasa menawarkan lebih), integrasi langkah, variabel (output dari blok) yang harus diamati, interval untuk mengumpulkan data untuk pencetakan dan / atau merencanakan, scaling output (yang dapat juga dilakukan secara otomatis), durasi simulasi berjalan, jumlah pengulangan dan cara nilai-nilai tertentu yang berubah di dalamnya, dll

Download file models1.zip yang berisi beberapa model simulasi kontinyu yang ditulis dalam bahasa Turbo Pascal. Model yang dibuat menggunakan lingkungan simulasi terus menerus sederhana berdasarkan pendekatan berorientasi Ekspresi dan dapat dengan mudah dimodifikasi untuk model apapun sistem lain yang dijelaskan oleh persamaan diferensial.

Kembali ke Pos
Kembali ke Home page

Simulasi diskrit

penawaran simulasi diskrit dengan sistem yang dinamika dapat dianggap (karena tingkat abstraksi) sebagai urutan peristiwa pada titik waktu diskrit. Titik kunci dari bahasa simulasi diskrit adalah cara mengontrol urutan yang tepat dari kegiatan dalam model. Ini juga merupakan cara pengguna harus "melihat dunia" saat menggunakan bahasa dan dasar untuk klasifikasi bahasa simulasi diskrit.

Klasifikasi Discrete Simulasi Bahasa

Bahasa berorientasi flowchart diwakili oleh perangkat lunak GPSS bahasa (Umum Sistem Purpose Simulasi), yang ada di banyak versi di berbagai komputer. Pengguna harus melihat dinamika sistem sebagai aliran yang disebut Transaksi melalui diagram blok. Transaksi yang dihasilkan, mengikuti jalan melalui jaringan blok, dan dihancurkan pada keluar. Di blok transaksi mungkin tertunda, diproses, dan diteruskan ke blok lain. Blok dalam program diwakili oleh pernyataan yang melakukan Kegiatan model.

Bahasa berorientasi aktivitas tidak didasarkan pada penjadwalan eksplisit kegiatan masa depan. Untuk setiap aktivitas pengguna menggambarkan kondisi di mana aktivitas dapat terjadi (yang juga mencakup penjadwalan jika kondisi ini mencapai waktu tertentu). Algoritma kontrol simulasi berulang kali akan menambahkan waktu dan tes kondisi dari semua kegiatan. Kerugian dari pendekatan ini adalah jelas - itu perlu untuk mengevaluasi semua kondisi di setiap langkah, yang mungkin sangat memakan waktu. Di sisi lain itu adalah konseptual sangat sederhana dan algoritma dapat dengan mudah diimplementasikan dalam bahasa tingkat tinggi umum (ada bahasa simulasi berdasarkan pendekatan ini, tetapi tidak banyak digunakan). Download file models2.zip yang berisi dua model sistem antrian sederhana (di Turbo Pascal) yang menunjukkan berorientasi aktivitas pendekatan. Model ini disertai dengan beberapa unit yang melaksanakan operasi pada dua daftar cara terkait yang kemudian digunakan untuk menerapkan tumpukan dan antrian.

Bahasa berorientasi acara didasarkan pada penjadwalan langsung dan membatalkan kejadian masa depan. Pendekatan ini sangat umum. Pengguna harus melihat dinamika sistem simulasi sebagai urutan peristiwa yang relatif independen. Setiap peristiwa mungkin jadwal dan / atau membatalkan acara lain. Sistem rutin harus menyimpan catatan dari acara yang dijadwalkan. Itu sebabnya setiap acara diwakili oleh apa yang disebut pemberitahuan acara, yang berisi waktu, jenis acara, dan data pengguna lainnya. Pemberitahuan acara disimpan dalam apa yang disebut Kalender, di mana pemberitahuan acara yang diperintahkan oleh waktu yang dijadwalkan. Setelah selesai rutin Event, sistem menghapus pemberitahuan acara dengan waktu terendah dari kalender, update model waktu oleh waktu, dan mulai yang sesuai rutin. Ini diulang sampai kalender menjadi kosong atau program berhenti karena alasan lain. Penjadwalan cara memasukkan acara pemberitahuan ke kalender dengan waktu yang dijadwalkan, pembatalan menghilangkan mereka. Pendekatan berdasarkan eksplisit mengungkapkan peristiwa disebut Discrete acara Simulasi, yang kadang-kadang umum untuk simulasi diskrit seperti itu. Seorang wakil khas dari kelompok ini bahasa adalah bahasa SIMSCRIPT (tapi versi II.5 penunjangnya simulasi juga memproses oriented).

Bahasa berorientasi proses didasarkan pada kenyataan, bahwa peristiwa tidak independen. Sebuah acara biasanya konsekuensi dari peristiwa sebelumnya lainnya. Dengan kata lain sering mungkin untuk menentukan urutan peristiwa yang dapat dilihat sebagai entitas dari model simulasi di tingkat yang lebih tinggi dari hirarki. Sebuah urutan peristiwa yang disebut Proses . Tidak seperti proses peristiwa memiliki dimensi waktu. Proses sistem abstrak berdasarkan sangat dekat dengan realitas, yang selalu terbuat dari berbagai objek yang ada dan bertindak secara paralel mengganggu satu sama lain. Proses cara memandang dinamika sistem demikian sangat alami. Sebagian besar proses model kegiatan dari objek nyata. Hal ini diyakini, bahwa berorientasi proses simulasi diskrit adalah cara terbaik bagaimana untuk membuat model simulasi diskrit. Wakil khas dari kelompok ini bahasa yang MODSIM, SIMSCRIPT II.5, dan SIMULASI kelas sistem dari Simula bahasa.

Kembali ke Pos
Kembali ke Home page

Simulasi berorientasi objek

Object Oriented Simulasi (OOS) dapat dianggap sebagai kasus khusus dari Object Oriented Programming (OOP). Beberapa prinsip-prinsip OOP seperti adanya berbagai jumlah contoh benda campur telah digunakan standar dalam lingkungan simulasi untuk waktu yang lama, sering menggunakan terminologi lainnya. Bahasa Simula (dulu disebut Simula 67) adalah benar bahasa berorientasi objek pertama.Menjadi tua lebih dari 30 tahun, ia masih memiliki sebagian besar (dan semua penting) mekanisme dan prinsip-prinsip OOP. Beberapa hal-hal seperti kelas, warisan, metode virtual, dll telah ditetapkan dalam waktu yang lama Simula sebelum mereka ditemukan kembali oleh boom OOP dalam tahun terakhir. Untuk mempelajari lebih lanjut tentang Simula, kunjungi halaman ASU (Asosiasi Pengguna Simula).Anda juga dapat menelusuri dokumen Pengantar OOP di Simula berdasarkan pada pembicaraan yang disajikan di University of Malta pada kesempatan ulang tahun ke-30 Simula ini. MODSIM adalah berorientasi objek bahasa simulasi lain. 

Ini adalah fitur yang paling umum diterima dari OOS:

1. Algoritma atau sistem dinamika dinyatakan dalam hal objek (pelaku) yang ada secara paralel dan saling berinteraksi. Setiap objek diwakili oleh: 
- parameter (yang mungkin ditugaskan nilai aktual saat membuat benda) 
- atribut (juga disebut atribut internal maupun atribut nilai) 
- metode (juga disebut tindakan atau atribut prosedur) 
- hidup, yang merupakan kegiatan dimulai pada objek . penciptaan 
objek dapat berinteraksi dengan cara ini: 
- akses langsung ke parameter dan atribut 
- saling panggil metode 
- komunikasi dan sinkronisasi objek hidup. 
Cukup berbicara: Object = data + Prosedur yang disebut Encapsulation . Sangat sering objek data atau bagian dari itu disembunyikan dan nilai-nilai dapat diakses dan dimodifikasi hanya melalui metode (didefinisikan dengan baik). Konsep ini disebut Informasi bersembunyi .

2. benda serupa (pelaku) dikelompokkan ke apa yang disebut kelas juga disebut prototipe. Sebuah kelas menggambarkan objek yang memiliki parameter yang sama, atribut, metode, dan kehidupan. Sebuah deklarasi kelas ditafsirkan sebagai pola. Hal ini dimungkinkan untuk membuat sejumlah objek individu (aktor) disebut objek contoh . Contoh mungkin berbeda dalam nilai-nilai parameter dan / atau atribut mereka. Hal ini diperlukan untuk membuat perbedaan yang jelas antara kelas sebagai contoh seperti dan objek yang dihasilkan dengan menggunakan deklarasi kelas. Sebuah kelas dapat juga diartikan sebagai pengetahuan tentang jenis tertentu objek. Pengetahuan tersebut diwakili oleh bagian data dan dengan operasi yang dapat dilakukan pada data. Hal ini mirip dengan tipe data abstrak, tetapi kelas yang jauh lebih kaya. Tipe data abstrak dapat dalam konteks ini dianggap sebagai kasus merosot dari kelas yang tidak menggunakan warisan.

3. Objek dapat diklasifikasikan hierarkis oleh apa yang disebut warisan . Sangat sering istilah subclass diperkenalkan. Sebuah Y subclass dari kelas X mewarisi semua parameter, atribut, dan metode dari kelas X. deklarasi Its dapat menambahkan sejumlah parameter tambahan, atribut, dan metode. Sebuah subclass juga bisa menambahkan beberapa kegiatan untuk kehidupan kelas induk. Sebuah subclass dapat digunakan sebagai kelas induk dari subclass lain, dll Beberapa bahasa OOP (tidak Simula) memungkinkan disebut multiple inheritance . Dalam hal ini subclass dapat mewarisi dari lebih dari satu kelas induk.Sebuah subclass dapat ditafsirkan sebagai pengetahuan yang lebih rinci dari yang didefinisikan oleh kelas induk. Jadi kelas induk merupakan pengetahuan umum, yang mungkin lebih khusus oleh deklarasi subclass di sejumlah langkah. Warisan bertindak dengan cara tertentu terhadap mengetik kuat dari bahasa seperti Pascal. Biasanya adalah mungkin untuk mendeklarasikan variabel referensi yang bisa merujuk ke sebuah instance dari kelas tertentu dan untuk contoh semua subclass. Mungkin diinginkan, bahwa metode tertentu kemudian berperilaku dengan cara yang berbeda sesuai dengan objek contoh saat sedang direferensikan, yang dapat berubah secara dinamis selama pelaksanaan program. Konsep ini disebut polimorfisme didukung oleh mekanisme yang disebut terlambat mengikat dan metode yang terlibat disebut metode virtual, yang dapat berubah pada setiap tingkat hirarki.

4. Adanya Paralel contoh objek membutuhkan fasilitas pendukung kerjasama dan sinkronisasi hidup mereka. kehidupan Objek tidak memiliki tentu dimensi waktu, tetapi dalam kasus OOS memiliki. Simula objek seperti dapat berinteraksi tanpa gagasan waktu. The Simula kelas sistem SIMULASI mendefinisikan kelas "Proses" yang hidupnya ada di waktu. Ada fasilitas untuk proses untuk berkomunikasi dan untuk menyinkronkan kehidupan mereka 

Kembali ke Pos
Kembali ke Home page

Pada Simulasi Baris

Internet bersama-sama dengan Java dan JavaScript menawarkan kemungkinan yang luar biasa dalam pemecahan masalah. Alih-alih memakan waktu download dan instalasi paket perangkat lunak, adalah mungkin untuk membuka langsung berbagai pemecah, terutama untuk masalah yang tidak sering dan yang tidak memerlukan memakan waktu perhitungan. Sebagai langkah pertama saya ke arah ini, saya menulis model simulasi sederhana dalam JavaScript yang memecahkan dan mensimulasikan sistem antrian tunggal dan jaringan antrian. Procede ke On-Line pemecah & Simulator halaman untuk mencoba simulasi sekarang.

Kembali ke Pos
Kembali ke Home page

Referensi

Halaman ini berisi ekstrak dari teks: Sklenar, J .: Simulasi . (University of Malta, 2000) yang digunakan di beberapa kursus terkait Riset Operasi mengajar di Universitas Malta Anda dapat juga menemukan banyak hal baru di Internet karena semua pencari mesin kembali banyak entri pada "simulasi". Anda bisa mulai dengan tempat-tempat berikut, yang berisi link lainnya, referensi, informasi tentang lembaga, konferensi, dll 

 

Kembali ke Pos
Kembali ke Home page