You will develop a simulation that will consist of the following five components:
Controller: This script component controls the simulation. It shall permit the user to:
1. Call the ConfigGen function.
2. Load a PPConfig (Power Plant Configuration) file.
3. Call the DispConfig function.
4. Call the MCSim function.
5. Call the MCResults function.
6. End the program
ConfigGen: This function component shall permit the user to generate and save a PPConfig file (a file consisting of one or more data structures containing data on the map, cities, power plants, and transmission lines).
DispConfig: This function component shall permit the user to:
1. Graphically display the information contained in the PPCofig file (city shapes and locations in yellow, power plant shapes and locations in black, transmission line between power plants and to cities in red).
MCSim: This function component shall:
1. Calculate the power use for each city for every hour of the day using the power use equation provided in "Background" (note there is a random element here).
2. Calculate the power required from power plant A to meet both the needs of its own city (C1) and the EXCESS needs of C2 and C3 (i.e., the amount of power in excess of what B and C are able to provide to C2 and C3, respectively).
MCResults: This function component shall:
1. Display a graph of 4 functions of time over the 24 hour period of the MC run: the Power used by C1 (in black), the EXCESS power used by C2 and C3 (in green and blue), and the total power that needs to be supplied by A (to meet this demand).
2. Display in text format the Peak Power required of A over the course of the day (i.e., the maximum value for the power A had to supply in any one hour period).
Hint on the Data Structure(s): The power plant data structure should at least include location and peak power for each power plant. The city data structure should likewise at least include location and power use parameters for each city (since in generally they will be different).