Overview
-
This model is a an
example to show the function of the HVAC Agents presented in this
library
-
It acts as a prove that
implementing functioning multi-agent systems on the basis of the
Modelica language environment is possible.
Concept
The model consists of a
consumer agent, two brokers, one intermediate agent and three
producer agents. The model represents a heating system in which two
circuits are interconnected via an heat exchanger. There is no real
physical system implemented. The model, however, shows the
communication of the agents with each other (see the log below). For
further details, please refer to the reference.
The logic is implemented
with the help of the StateGraph library. Communication is realized
with the help of the DeviceDriver library and follows the language
standards for multi-agent-systems set by the FIPA to the highest
possible extend for Modelica models.
References
- Felix Bünning. Development of a Modelica-library for agent-based
control of HVAC systems. Bachelor thesis, 2016, RWTH Aachen
University, Aachen, Germany.
- Roozbeh Sangi, Felix Bünning, Johannes Fütterer, Dirk Müller. A
Platform for the Agent-based Control of HVAC Systems. Modelica
Conference, 2017, Prague, Czech Republic.
- Felix Bünning, Roozbeh Sangi, Dirk Müller. A Modelica library for
agent-based control of building HVAC systems. Applied Energy,
193:52-59, 2017.
Example
Results
- ConsumerAgent 10001 requests 5000 W of heat from Broker 20001.
- Broker 20001 collected the request of 5000 W of heat from
Consumer 10001.
- Broker 20001 calls for proposal of 5000 W of heat from Producer
30001.
- IntermediateAgent 30001 got a call from bottom broker 20001 and
passes it on to top broker 40001.
- Broker 40001 collected the request of 5000 W of heat from
Consumer 30001.
- Broker 40001 calls for proposal of 5000 W of heat from Producer
40002.
- HeatProducerAgent 40002 proposes adjustment of 5000 W for a price
of 7960.
- Broker 40001 collects proposal of 5000 W of heat for the price of
7960 from Producer 40002.
- Broker 40001 calls for proposal of 5000 W of heat from Producer
40003.
- HeatProducerAgent 40003 proposes adjustment of 5000 W for a price
of 17960.
- Broker 40001 collects proposal of 5000 W of heat for the price of
17960 from Producer 40003.
- Broker 40001 calculates an average price of 1.592 per W of heat.
- Broker 40001 asks for a confirmation of 5000 W of heat for the
total price of 7960 from Consumer 30001.
- IntermediateAgent 30001 got an information from top broker 40001
and passes it on as a proposal to bottom broker 20001 after adding
own costs of 100.
- Broker 20001 collects proposal of 5000 W of heat for the price of
8060 from Producer 30001.
- Broker 20001 calls for proposal of 5000 W of heat from Producer
30002.
- HeatProducerAgent 30002 proposes adjustment of 1000 W for a price
of 960.
- Broker 20001 collects proposal of 1000 W of heat for the price of
960 from Producer 30002.
- Broker 20001 calculates an average price of 1.4816 per W of heat.
- Broker 20001 asks for a confirmation of 5000 W of heat for the
total price of 7408 from Consumer 10001.
- ConsumerAgent 10001 confirms the request of 5000 W of heat for a
price of 7408.
- 5000 W of heat were confirmed by consumers at broker 20001. Go on
to final requests to producers.
- Broker 20001 accepts the proposal of 30001 and orders 4000 W of
heat.
- IntermediateAgent 30001 got an accept proposal from 20001 and
passes it on as a confirmation to top broker 40001.
- IntermediateAgent 30001 confirms the adjustment of 4000 W of
heat.
- Broker 20001 accepts the proposal of 30002 and orders 1000 W of
heat.
- 4000 W of heat were confirmed by consumers at broker 40001. Go on
to final requests to producers.
- Broker 40001 accepts the proposal of 40002 and orders 4000 W of
heat.
- HeatProducerAgent 40002 confirms the adjustment of 4000 W of
heat. The setpoint is now 7000W.
- HeatProducerAgent 30002 confirms the adjustment of 1000 W of
heat. The setpoint is now 2000W.
- Broker 40001 rejects the proposal of 40003.
- October 2015, by Felix Bünning: Developed and implemented
- December 2016, by Roozbeh Sangi:
revised
Generated at 2024-12-26T19:25:54Z
by OpenModelicaOpenModelica 1.24.3 using GenerateDoc.mos