AixLib.Controls.HVACAgentBasedControl.Examples.HVACAgentsCommunications.SimpleCommunication

# .AixLib.Controls.HVACAgentBasedControl.Examples.HVACAgentsCommunications.SimpleCommunication

## Information

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.

## Revisions

- October 2015, by Felix Bünning: Developed and implemented
- December 2016, by Roozbeh Sangi:
  revised

Generated at 2026-05-12T20:19:03Z by OpenModelicaOpenModelica 1.26.7 using GenerateDoc.mos