In the future, I could implement this better by only allowing the number of standard/deluxe garments to be even numbers. I could do this by implementing a array that contains every even number between 1 and 10 and then assigned the number of standard/deluxe garments to a number randomly selected from this list.
Another thing I believe I implemented poorly was stocking the storage with the sheets. When I initially coded this part, the agent would move into the storage patch, to illustrate going to the storage room with the sheets, after a few runs, the agent would no longer go into the storage room patch and just pick up the sheets from the drop-off zone which can be seen when the simulation is run. In the future, I would do back, find the error in logic and fix the issue.
In the future, more power to the observer can be given by allowing them to choose the number of each type of garments and even implementing an option to choose the order randomly if they wish not to place a custom order.
In the future, in terms of improvement, there could’ve a more effective method for the agents to be situated around the factory area to minimize time travelled between the robots to a greater effect, There also could have been changing ports next to the cutters, stichers and finishers. This is as when the carrier robots when the charging ports, they stopped doing their immediate task to do so, (i.e. when my netlogo simulation is ran, you will find that after the carrier-robots collect the stitched garments from the stichers, instead of taking them straight to the finishers, they stop halfway to get charged) but when they are with the cutters, stichers and finishers, they are idle for a handful of tick waiting to move the garments to the next stage. If the charging ports were next to the cutters, stichers and finishers, or even in their section, the carrier robots would not have to interrupt their tasks to get charged and make the simulation more efficient.
Another noticeably aspect of my simulation was that there was a period of idleness when then the loading/stocking robot is waiting with the completed garments in the loading area before the truck arrive for the robot to load the completed garments into. This can be improved in the future by decreasing the amount of ticks the truck waits before arriving to the loading bay which means the loading/stocking robot will be idle for less time as it will spend less time waiting for the truck.
Another way to decrease the amount of idleness of the loading/stocking robot can be to time the sheets re-stocking and completed garments to be loaded so the robot is continually moving between the loading and stocking, with only enough time to charge to decrease the idleness of the loading/stocking robot.
In the future, to improve upon this simulation, we can include warnings to the controller/observer if the energy begins to get low on energy.
It may also be more efficient if the cutters, stichers and finishers were all closer together as it would mean less time consumption by the carrier-robot when moving the
In the future the simulation can be improved by allowing the carrier robots to reach their maximum energy level (100) or giving the robots a larger charge capacity so the need for multiple chargers in close intervals becomes redundant, saving the factory money on electricity.
I believe that looking at the process that I have followed, the simulation I have created and the results I have gained, I believe that I created a good simulation that illustrated most of what had been described within the introduction but in the future, I believe I should improve on my initial idea of how the simulation should work as the more detailed it is, the easier it is to write the logic behind it and hence code it.
I had spent a lot of time fixing bugs in my code which cost me a lot of time working on this assignment. Next time, I would spend more time thinking about the logic before rushing into writing the code so I am less likely to have bugs on the first try.
Overall, doing this assignment, I am comfortable converting a design into a simulation and I am confident in using netlogo to create simulations. I have also become more confident in researching into different areas of a topic and extract the information I require and using writing logic statements.