Difference between revisions of "Assignments WS 2015/2016"
(→Simulation of Aqua park) |
(→Otakar Trunda: The Ultimatum Game) |
||
Line 309: | Line 309: | ||
[[User:Trunda|Trunda]] ([[User talk:Trunda|talk]]) 17:35, 15 December 2015 (CET) | [[User:Trunda|Trunda]] ([[User talk:Trunda|talk]]) 17:35, 15 December 2015 (CET) | ||
+ | |||
+ | The problem is well known. However, you will probably struggle with simulating irrationality and some other particular problems. The model will tend to be either pretty complex, almost hard to manage or too trivial. I would think twice and explain how exactly you will e.g. deal with the particular strategies. | ||
+ | Also, why do you want to use C# instead of a certain agent framework? [[User:Tomáš|Tomáš]] ([[User talk:Tomáš|talk]]) 22:39, 15 December 2015 (CET) |
Revision as of 22:39, 15 December 2015
Please, put here your assignments. Do not forget to sign them. You can use ~~~~ (four tildas) for an automatic signature. Use Show preview in order to check the result before your final sumbition. |
Please, strive to formulate your assignment carefully. We expect an adequate effort to formulate the assignment as it is your semestral paper. Do not forget that your main goal is a research paper. It means your simulation model must generate the results that are specific, measurable and verifiable. Think twice how you will develop your model, which entities you will use, draw a model diagram, consider what you will measure. No sooner than when you have a good idea about the model, submit your assignment. And of course, read How to deal with the simulation assignment. |
In order to avoid possible confusion, please, check if you have added approved in bold somewhere in our comment under your submission. If there is no approved, it means the assignment was not approved yet. |
Contents
- 1 Assignments
- 1.1 mand01: Chemicals manufacturing process simulation
- 1.2 knam00:Heating system simulation
- 1.3 Christmas market
- 1.4 xsedd07: assignment
- 1.5 xtomp36: assigment
- 1.6 Predator-Prey simulation
- 1.7 xhudj17: assigment
- 1.8 xzimm00: Smart car traffic optimization
- 1.9 Maze Solving Robot Simulation
- 1.10 Simulation of Aqua park
- 1.11 Otakar Trunda: The Ultimatum Game
Assignments
Oleg.Svatos (talk) 15:35, 29 November 2015 (CET) Just to warn you in advance - topics like roulette, lottery and other simulations based purely on uniform randomnes will not be accepted as Monte Carlo simulation.
--Dinara (talk) 03:32, 11 December 2015 (CET) I have changed my topic to Chemicals manufacturing process simulation
mand01: Chemicals manufacturing process simulation
--Dinara (talk) 21:24, 14 December 2015 (CET)
Introduction
The simulation shows how pharmaceutical companies' manufacturing process is held. In this case manufacturing process is a chemical batch production process which has shared resources. There are two basic systems included: Ordering system and Production systems. The first one generates orders of chemicals to be produced with different demands on a production. As this simulation is for educational purposes, I have decided to simplify the model to 2 types of drugs produced. The production system is assigning reactors to a particular order and processing it. We have shared resources and one of the main shared resource is a reactor. One reactor processing one order. Once an order is received we align each per order and then production begins, which include several steps as adding water, heating water, adding particles, stiring and draining. After all production steps we release the reactor for the next order.
Problem definition
This model explores how to solve resource allocation problem.
We need to process 100 orders (60 orders for drug A and 40 for drug B) in a month. Reactors works 12 hours a day. We obtain 5 reactors, we can add water to two reactors simultaneously and heat two reactors at a time.
Drug A: adding water 2 hours, heating 3 hours, adding particles 1 hour, stiring 3 hours and draining 3 hours
Drug B: adding water 1 hour, heating 2 hours, adding paticles 30 min, stiring 5 hours and draining 3 hours
Do we need an additional reactor to acomplish this task?
Method
Tool to be used - Simprocess
As stated here, for discrete event simulations a real problem from real business with real data is mandatory.
knam00:Heating system simulation
Intro
Most households in the Czech Republic have mains gas central heating. This is a so-called ‘wet system’, which means a gas-fired boiler heats water to provide central heating through radiators and hot water through the taps in your home.
Some houses that aren’t connected to the gas network can use electrical heating or liquid petroleum gas (LPG) or heating oil, which work in a similar way to gas central heating, although LPG and oil are delivered by road and stored in a tank, which you may have to buy or rent from your supplier.
Gas is a highly efficient fuel, so you get a good return on every unit of energy. Modern condensing boilers, which use hot flue gases that are wasted in a standard boiler, have very high efficiency. Some are now 90% or more efficient.
Simulation design
Layout
People
There are 6 people using this flat. Each person periodically comes and leaves. Pair 1 comes on monday and leaves on wednesday Pair 2 comes on monday and leaves on friday There are also 2 boys sharing another room - The first one stays here for the whole week and the second one leaves on saturday and comes on monday.
Gas boiler
We own 25kW condensing boiler with 95% efficiency. Boiler is controlled with thermostat.
Thermostat
Thermostat is placed in the living room - it is set to 22 degrees Celsius from 7:00 to 23:00 and to 19 degrees Celsius from 23:00 to 7:00.
Rooms
There are 3 separated rooms used privately, one living room, kitchen, bathroom, storage room and toilet. He have high ceilings, so volume of rooms is really big.
Private rooms - 84mˆ3 x 3 Living room - 168mˆ3 Kitchen - 84mˆ3 Bathroom - 21mˆ3 Storage room - 21mˆ3 Toilet - 21mˆ3
Radiators
We have old radiators made from cast-iron. Each part of this radiator is 600mm high and 200mm deep, its surface is 0,31mˆ2, its capacity is 1,7L. Each room (except storage room) has its own radiator. In total, there are 5 radiators with 30 parts and 2 radiators with 15 parts.
Heating system
Consists of radiators and tubes. Total amount of water inside heating system is 255L (5 big radiators) + 51L (2 smaller radiators) + 61L (Amount of water inside tubes - 108m of tubes in total) = 367L.
System dynamics
Water inside heating system gets heated - it takes 4181J to heat up 1L of water to 1 degree Celsius. Then radiators are heated (416J for 1kg of cast-iron to heat-up to 1 degree Celsius), then air is heated according to Stefan-Boltzman law. Heat is distributed among the flat. According to the people in the flat, radiators are turned on or off. Thermostat is inside the living room a living room gets 30% of heat from rooms connected to it. Thermostat stops heating system when requirement are satisfied. Accumulated heat stays in heating system and slowly degrades. I would like to measure amount of gas used for heating system for the period 4 months.
The system i describe doesn't count with using hot water for shower.
I would like to ask you for software recommendation - not sure if i should use simprocess or vensim.
Martin Knapovský, knam00@vse.cz
- This could be an interesting topic, but please, finish the assignment. Tomáš (talk) 02:44, 13 December 2015 (CET)
Christmas market
I´m thinking about simulation of Christmas market, on some square as place for vendors. There will be two kind of vendors – with refreshments and with decorations. There will be two entities – vendors and customers. In first round I want place there some number of customers (for example twenty) and some number of vendors. Each customer has to buy at least one decoration as a present for somebody. In next rounds each customer can decide if he want to leave a market, buy other present or buy something to eat/drink. Each customer can buy no more than five presents. Every minute will come five new customers. There will be a temperature as global variable. If the temperature is too low, customer will decide, if he/she wants to go home or buy something to eat/drink to get warm. If customer is on a market for so long, he/she needs to buy something to eat or drink either. Because there will be more than one vendor of each kind of goods, customer will preference vendor by the distance.
My goal is to find an optimal number of vendors and its structure based on the given temperature.
For my simulation I decide to use NetLogo.
- This could be interesting if you would use real data. Otherwise it is kinda academic exercise. And by the way, it seems to be rather a discrete event simulation than an agent model. Tomáš (talk) 21:52, 15 December 2015 (CET)
xsedd07: assignment
Conference and meeting center layout in NetLogo
This simulation would display how the crowds (and individuals) would behave within a conference center. The building would have a set plan, what would be changing could be the exits, the information desks, the buffets, the bars, the exhibitions, the lectures, the meetings, the benches and the free space. The visitors and participants would move around based on a schedule and free will, at this point I am not sure to which extent is it wise to design an AI which would control each person as an individual. Hopefully such AI can be made with NetLogo spending just reasonable effort. The simulation extent (regarding total amount of people, rooms...) will be adjusted so that it can be easily overviewed but not yet too simplified.
The layout will be transformed multiple times, its efficiency will be judged by density of the crowd and queues. Individual buffets, bars e.t.c. should not be abandoned while the others are flooded. Simulation will include staff and toilets to make the environment look more real. At the moment I am open to implementing a possible terrorist attack, which could also be an alternative for this assignment.
The simulation should track the number of people in lecture halls, in queues and in any otherwise interesting state such as boredom or stress.
- I would make it simpler. Don't bother simulating all the day, simulate just as people are coming for the particular event/presentation. Simulate how crowd are assembling at doors, toilets, how people avoiding each other to get their seats. Etc. Just the time let's say +-10 minutes around the beginning of the event. Of course, you need to simulate relative intelligent movement of agents. If you agree, than it is approved. Tomáš (talk) 21:58, 15 December 2015 (CET)
xtomp36: assigment
Hosting load-balancing simulation
A hosting company with it’s own infrastructure is using so called "load balancing" to distribute the overall load between multiple servers (hardware) and “high-availability” to minimize service down-time.
Software used
- SIMPROCESS
Possible hosting services
- Web hosting
- VPS
- Communication server (TS 3)
The simulation should also consider critical situation like off-line server or unavailability (for example due to D-DOS attack) of the entire server location (datacenter). In with case the traffic should be re-routed to another location (there are two hosting locations).
I am going to use real data from my own hosting environment.
Variables
- Number of servers
- Probability of hardware malfunction
- Probability of software malfunction
- Probability of entire location unavailability
- Service users (website visitors, VPS users, TS 3 clients)
Other
In addition there are other devices necessary to enable LB and HA, like a switch. In case of HA enabled there must be at least two same switches at one time to achieve redundancy.
Approved. Tomáš (talk) 21:59, 15 December 2015 (CET)
Predator-Prey simulation
Few weeks ago a came across an interesting article about deer overpopulation and how this is slowing down forest succession or natural establishment. 'The study was conducted on Cornell land near Freese Road in Ithaca,' as stated in the article.
I would like to make a simulation of the predator-prey concept on this topic. We would be able to simulate the growth of deer, wolf population, the state of the 2 types of vegetation in the forest and how many deers and wolves would be optimal to keep the original forest vegetation from disappearing.
Basically there will be total of 4 entities - 2 agents and 2 patch types:
Deer - agent, consuming the native forest flora,
Wolves - agent, the predator specie that hunts the deer specie,
Forest vegetation - native forest flora that deer specie prefers to consume,
Foreign vegetation - the more the deers eat the native forest vegetation the more this foreign flora thrives.
NetLogo will be used for this simulation. I understand it might be a little more complex because this simulation would not be simulating only the deer population but the predator (wolves) as well. It would also simulate the interactions between deer and the native forest flora, wolves hunting deers and the foreign flora taking over the forest until there is little or none of the original forest vegetation.
There will be some global variables such as the initial number of deers and wolves; deer, wolf, forest and foreign flora reproduction rates and rules of interaction for these entities.
--Xnovs00 (talk) 21:57, 13 December 2015 (CET)
There is already so many predator-prey simulations (e.g. in Netlogo itself is at least one or two) that I am a bit reluctant to approve another one. Or please, let me know what is different on your particular case? 22:03, 15 December 2015 (CET)
xhudj17: assigment
Crossroad simulation
This simulation should simulate trafic (cars and trams) and pedestrians on crossroad of roads Sokolovska, Jecna and Legerova located on I.P.Pavlova square in Prague.
Software used
- NetLogo
Goal
The simulation should try to optimize the trafic lights to reach lowest waiting times possible and to secure safety and fluency of the trafic.
Variables
- Propability of incoming cars from each direction
- Probability of incoming pedesterians
- Probability of incoming trams
- Light intervals
Situation desctription
The crossroad is combining 3 main streets and 3 smaller streets with several pedestrians crossing and two tram crossing. There are 2 separate trafic lights to controll the traffic.
Jan Hudecek, XHUDJ17, 14/12/2015 13:50
Approved. Tomáš (talk) 22:04, 15 December 2015 (CET)
xzimm00: Smart car traffic optimization
The model presented by this paper is simulating the situation of car multi-lane merging.
Goal
The primary goal of the simulation is to create a plausible real-world model of car traffic jams caused by agents operating in an inefficient way and environment that does not make the best of today's technologies that could help control the traffic flow, and to measure the possible improvement if smarter systems were employed. The author takes into account the inefficiencies of the agents (human error...) and compares this with a (possibly better) solution using automated driver agents, always utilizing an (ideally) optimal (precomputed) traffic flow.
Variables
- Car inflow (cars/minute, distributed across the lanes)
- Number of lanes (starting and final, after the lane merge)
- Car speed (varying across the different road segments - i.e. max speed may be limited after the merge because of a traffic obstruction, for example a car accident or roadworks)
- Agents' merging strategy preference (i.e. late vs early merge)
- Agent inefficiency factor (reactions time, premature slowing down, wrong merging strategy used, varying speed, overcautiousness...)
- Amount of kept safety factor (for both human-based and automatic computer-based agent driven cars, so called 'defensive driving', expecting a failure of the others - i.e. mainly the distance kept between the cars)
Methods used
- Software used: NetLogo
Expected results
Based on the results of the simulation, it should be possible to measure the possible improvement (%) if automated car-driving agents were employed in place of humans in different critical situations of lane mergers.
(Martin Zima, xzimm00) --Martin.zima (talk) 18:31, 14 December 2015 (CET)
Approved. Tomáš (talk) 22:06, 15 December 2015 (CET)
Maze Solving Robot Simulation
Assignment (xkrep33)
Goal
The primary goal is to create an autonomous robot, which is able to find way out of the maze. The robot will be programmed and his movements cannot be interfered after he starts. The robot must be driven by a non-trivial algorithm that will include randomly generated numbers. The robot must be able to find a way out of maze in a finite time. It means he should not get into an endless cycle of no return.
Secondary objective will be to determine what is the difference between a primitive robot and the robot uses a smarter algorithm. Primitive robot is e.g. such a robot who moves only straight forward and if he encounters an obstacle turns left.
Software
For simulation will be used NetLogo software (2D version).
Autonomous robot
Robot will be able to move up, down, left and right (viewed from above). He should be able to find the way out without any intervention. Robot will be able to move in any environment (maze) where exists at least one posible way out.
Environment (maze)
Environment will be represented by the World in NetLogo. The World will consists of black, grey and green patches. Black patches will represents the path where robot can move. The grey patches will represent walls, robot cannot enter them and finally the green patches will be the door out of the maze.
More than one enviroment will be provided. Environments will vary to prove that the robot is able to avoid an infinite loop situation.
--Xkrep33 (talk) 20:46, 14 December 2015 (CET)
Sounds interesting. Approved. Tomáš (talk) 22:08, 15 December 2015 (CET)
Simulation of Aqua park
Assignment (xjanj58)
Description
The purpose of this simulation will be representation of Aqua park with indoor and outdoor pool. The swimmers will have random preferences and they will go to swim in one of two pools. With the pools gradually filling with swimmers it will have negative effect on motivation of each swimmer and it will show change of their preferences. Based on weather and temperature swimmers will also change their preferences between outdoor and indoor pool. Next parameter could be water purity, with high level of contamination produced by swimmers their motivation will lower and on the contrary.
Goals
Simulation will be set for period of one calendar year and at the end we can compare, if its profitable for Aquapark to have both pools open for a whole year. It will be cheaper to run outdoor pool, but bad weather will have much higher impact on outside swimmers. Next goal will be confirmation of assumption, that in summer people prefer outdoor pool and on the contrary in winter indoor pool.
Used software
NetLogo
--xjanj58 (talk) 22:36, 14 December 2015 (CET)
Sounds good, however you will probably struggle with soft parameters like "the willingness to swim in dirty water". How do you plan to deal with it? Tomáš (talk) 22:23, 15 December 2015 (CET)
Otakar Trunda: The Ultimatum Game
Agent-based simulation to analyze the socio-economical experiment known as The Ultimatum Game.
Game rules
The rules can be found at [1]. During the game two players interact in order to divide certain amount of money (e.g. $1000 000) between them. At the beginning, the first player proposes the ratio of division (like $900 000 for himself and $100 000 for the other player, or any other ratio). Then the second player has two choices - he can either accept - in which case the players receive the agreed amounts of money, or he can reject - in which case no player receive any money.
Goals
There are several questions that can be studied about the Ultimatum Game. For example:
- how would people behave? (assuming the players don't know each other)
- what amount of money should the first player propose to the second? (to maximize his own profit)
- what amount of money should the second player accept?
- is it rational for the second player to reject any proposal? Why?
- if the game is played repeatedly and different players use different strategies, what strategy maximizes agents' long-run profit?
- if agents' strategies can evolve in time, can altruistic strategies emerge?
- are there evolutionary stable strategies? Which ones?
Method
In the system there will be agents representing players, each of them will play according to his strategy. The strategy of the player tells how much he will offer (should he be the first player in the game) and what is the least amount he will accept (should he be the second player in the game). In each simulation step, two agents will be selected randomly and play the game. Their score will be adjusted by the result of the game (i.e. if the second agent accepts, they will gain money according to the proposal, otherwise the score remains unchanged). Agents' successfulness is determined by their score.
After a large number of simulation steps (like 1000 000 of more), we should be able to determine how the strategy affects the final score of agents (i.e. what strategies are good).
Evolution of strategies
The system can be modified such that agents' strategies will change during the simulation to emulate biological evolution. In this case, successful agents will multiply in the system (i.e. more agents will use good strategies) and non-successful agents will die-out. During the reproduction of agents, their strategies will be slightly modified - the offspring will use a slightly different strategy then the parent. This way, the system should evolve to some kind of equilibrium where either all agents use very similar strategy (static equilibrium), or different strategies survive to compete with each other (dynamic equilibrium).
After a large number of simulation steps, we should be able to observe whether altruistic strategies emerge (strategies, that offer "fair" amounts and reject small offers) and determine the existence of stable strategies (strategies that can't be taken advantage of by "parasitic" strategies).
Software
Tailor-made in C# using Visual Studio.
Trunda (talk) 17:35, 15 December 2015 (CET)
The problem is well known. However, you will probably struggle with simulating irrationality and some other particular problems. The model will tend to be either pretty complex, almost hard to manage or too trivial. I would think twice and explain how exactly you will e.g. deal with the particular strategies. Also, why do you want to use C# instead of a certain agent framework? Tomáš (talk) 22:39, 15 December 2015 (CET)