Friday, October 1, 2010

Bias block’s use in optimization problems

I feel the bias block does not get the use it deserves and would like to make a case for it.

If you do not use the Rate library, there may be no point trying to understand the Bias block…However, lack of familiarity rather than true functionality might be the reason you’re not using Rate. The ExtendSim manual has a good discussion of ExtendSim AT’s discrete rate capabilities; you may want to read up on it a bit. For now let focus on this little block called the Bias block.

The block is small and simple but carries a powerful concept. The bias block allows the rate of flow through particular model sections to be maximized. In other words, after defining where the flow should “preferably” go, the model optimizes the direction of the flow.

To illustrate my point lets give a practical example:

-Goal: The model purpose is to properly allocate power supply so that each customer gets what they need at the lowest possible cost.

-Setting: 3 different sources of power, 4 pools of users and a distribution network.

-Logic: Each source of power has an associated cost and is linked to the distribution network. Each pool of users needs a certain amount of power and is connected to the distribution network.

Supply information

Maximum Megawatt-hour

Cost per Megawatt

Bias priority

Supply 1

50 MW-h

35 $/MW-h


Supply 2

50 MW-h

50 $/MW-h


Supply 3

50 MW-h

60 $/MW-h


Demand information



User a

20 MW-h

User b

30 MW-h

User c

20 MW-h

User d

10 MW-h

-Implementation: The modeler will construct the distribution system, the suppliers and the consumers… When all of that is done, the modeler can position a bias block next to each power supply; the lowest cost producer will be given the highest priority and so on…. And that’s it; the model is done and will distribute energy at the lowest cost.

The concept of bias block allows a modeler to look at his model as a global system. What is flowing through the system will follow the preferences provided by the bias block.

If the Bias block gets used more, I have in mind some fun upgrades to make the block even more powerful. Right now, the Bias parameter only authorized priorities between different parts of the model. It would be a fun new development to allow a full “objective function” to be defined which would be either maximized or minimized.

No comments:

Post a Comment