Python代写:COS30018 Electric Car Charge Scheduling System

代写一个电动车充电调度系统,实现一个prototype的demo即可。

Goal of the assignment

The goal of this assignment is to implement and demonstrate a simple intelligent scheduling system for the coordinated charging of a number of plug-in electric cars in a precinct/neighbourhood.

Description

Design and implement a simple intelligent system for coordinated scheduling of a number of plug-in electric cars in a precinct/neighbourhood, in such a way that all the cars are efficiently and fairly charged according to the different time preferences of the individual owners, the car charging constraints and the maximum electricity load constraints.

An electric car charge scheduling system should involve agents with the following roles:

  • Master scheduling agent
    • Collects requirements and preferences from other agents (i.e. from car agents)
    • Produces a coordinated schedule for all the cars (can use e.g. KBR, GA, ACO or other intelligent search/optimisation/reaoning techniques from the unit)
    • Sends the individual schedules to car agents
  • Car agents (at least 6 agents)
    • Send the requirements and preferences to the master scheduling agent
    • Receives the individual schedule
  • Car scheduling agents (at least 3 – instead of a master agent) (optional)
    • Exchange the requirements and preferences with other agents
    • Collaboratively produce a schedule for all the cars (e.g. iteratively exchange individual schedules and improve/alter them until all the individual schedules are valid)

The master scheduling agent assists the households in a neighbourhood with producing a schedule for the coordinated charging of all plug-in electric cars in such a way that all the cars are efficiently (e.g. shortest overall time, etc) and fairly (e.g. similar waiting time for individual cars, user preferences satisfied to a similar level, etc) charged according to the different time preferences of individual owners (e.g. earliest time to start charging, latest time for a car to be fully charged, etc), car charging constraints (e.g. minimum time and min/max energy for a charge in multi-step charging) and the maximum electricity load constraints (e.g. maximum total load at any time). The car agents send their requirements and preferences to the master scheduling agent and are notified about their individualschedules produced by the master scheduling agent. Optionally, each charging station can have a car scheduling agent that interact with each other to produce schedules for individual cars (that satisfy all the local and global preference/constraints). The agents can exchange their preferences and individually schedule charging their cars. Alternatively, they can iteratively exchange individual schedules and improve/alter them until all individual schedules are valid.

Assumptions and options (can’s and or’s)

  • The master scheduling agent (or car scheduling agents) can use any search/optimisation technique from the unit (e.g. KBR, genetic algorithm, ant colony, etc) or combination of them
  • The car scheduling agents can also use negotiation or other distributed mechanism (e.g. KBR, auction, CNP etc)
  • Provide GUI for the user input, parameter settings and visualisation (and a config file for the defaults)-
  • Use and compare different approaches/techniques (e.g. KBR vs ACO vs GA) (optional)
  • For agent communication any interaction protocols can used such as FIPA predefined (e.g. CNP, iterated CNP), nested or newly specified; any standard content language is ok; display the massage exchanged between the agents (e.g. sniffer agent)
  • Try to demonstrate the system with a well designed and realistic example
  • Be creative but keep it simple!!!