I think you can expect some variation in the ability to control
the temperature at different outside temperatures. But as far as I
can see form the runs that I've done, it still does quite well
throughout the range. At 73F outside temp I don't see large 
deviations from the setpoint (70F). It seems to stay a max of 
about .2F from setpoint. Are your results much different than
this? If so, then perhaps there are some differences in the code
we are using. Can you verify that your code is still the same 
as the code downloaded from the Jess In Action web site.

One of the major problems with the example as implemented is that the 
heat pump is on almost all of the time. To get close tracking to the
setpoint without turning the heat pump on and off rapidly this
is necessary. 

Also (as pointed out in the Jess In Action book) there is a big 
(and incorrect) simplification being made. When a heat pump 
is on in heating mode it delivers Y amount of heating capacity. 
If it is heating 3 floors and all of the vents are fully 
open then each floor should get Y/3 of this heat. But the assumption 
made in this simple simulation (fuzzy or non-fuzzy) 
is that when the vent is open a floor receives X units
of heat. If all vents are open then the 3 floors get 3X units of 
heat. This should equal the Y units that the heat pump can produce. 
However, if 2 vents are fully closed and 1 is fully open then 2 floors
get 0 units of heat and the 3rd one still gets X units of heat. 
It should get 3X (or Y) units of heat.
The other 2X units of heat is unaccounted for ... it is ignored and
just disappears with no effect. In the fuzzy case if the vent is
partially open it gets X*v units of heat where v is the percentage
that the vent is open. To take this into account would require
a different set of rules ... not provided -- left as an exercise for
the reader ;)  The idea was to give a simple intro to the topic.

Bob.


Bob Orchard
National Research Council Canada          Conseil national de recherches
Canada
Institute for Information Technology  Institut de technologie de
l'information
1200 Montreal Road, Building M-50         M50, 1200 chemin Montrial
Ottawa, ON, Canada K1A 0R6                Ottawa (Ontario) Canada K1A 0R6

(613) 993-8557 
(613) 952-0215 Fax / tilicopieur

[EMAIL PROTECTED] 

Government of Canada | Gouvernement du Canada



> -----Original Message-----
> From: David [mailto:[EMAIL PROTECTED]
> Sent: Wednesday, November 26, 2003 2:40 PM
> To: [EMAIL PROTECTED]
> Subject: RE: JESS: Question on the Fuzzy control using Jess
> 
> 
> Hi there,
> 
> Many thanks for your pointers. 
> I am now looking more closely at the Fuzzy controller because it gives
> very good results as compared to the Boolean logic.
> 
> To make the simulation more realistic, I tested the simulation with a
> varying outdoor temperature. That is, I allow the outdoor 
> temperature to
> vary from 73F to 90F at different times of the day (i.e. 
> different time
> on a 4000 time step simulation setting). 
> 
> The original simulation setting as suggested by the book 
> works perfectly
> well with a constant outdoor temperature 90F. Very low errors and the
> room temp follows the set point with high accuracy. Impressive! 
> 
> When I ran the simulation under varied outdoor settings, I notice the
> fuzzy controller have difficulty keeping the temperature close to the
> set point when the outdoor temperature is around 73-76F. It 
> seems to me
> that the fuzzy controller is not able to follow the set point
> temperature well when the outdoor temperature is near to the set point
> temperature. 
> 
> I wonder if I have done something wrong to the fuzzy simulator, which
> caused it not to work as well it should have.
> 
> I hope you can shed some light on it. 
> 
> P/S: simulation is ran for 4000 time steps, Thread.sleep(1000); 
>  
> 
> Regards
> David
> 
> 
> -----Original Message-----
> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
> On Behalf Of [EMAIL PROTECTED]
> Sent: Wednesday, November 26, 2003 6:41 AM
> To: [EMAIL PROTECTED]
> Subject: Re: JESS: Question on the Fuzzy control using Jess
> 
> 
> It's great to be curious, and the examples in the book are intended to
> be realistic examples. The control rules for the HVAC application  --
> especially the fuzzy version -- would work great in real applications.
> 
> But if you're serious about developing and testing this kind of
> application yourself, the first thing you'll want to do is make the
> simulator that the rules work against more realistic. The simulator in
> the book works fine, but it's designed to make watching the controller
> more interesting, not necessarily to be a realistic simulation of a
> building. For example, the rate at which heat is lost to the outside
> is astronomical. There's no insulation at all in the imaginary
> building, and all the windows are open! Change the cooling constants
> to more realistic values -- some actual engineering calculations may
> be needed here -- so that the rate of temperature change is comparable
> to what would be observed in a real building. This is the main reason
> why the heat pumps run all the time. 
> 
> Second, the simulator, for the sake of simplicity, uses only one array
> of temperatures to represent the floors. But any sort of decent
> finite-event simulator should use two arrays, one to represent the
> temperature at the current time step, and one for the next time step;
> the "next" calculation should be based on the "current" temps. But in
> the simulator in the book, there's only one array, and as a result,
> there's a strong, artificial "heat rises" effect which adds more heat
> than there should be to the upper floors.
> 
> Third, as Bob Orchard has pointed out to me, if you've got one heat
> pump servicing three floors and you close the vent to one floor, the
> other two floors get 1.5x as much heat flux. This effect isn't
> accounted for in the simple simulator in the book, meaning that much
> of the output of the heat pumps are "wasted."
> 
> 
> I think David wrote:
> > Hi guys,
> >  
> > I understand this area has been posted a few times. I am 
> following the
> > materials in the book (JIA) especially the example on HVAC 
> and always
> > have the urge to test and run the simulations myself. 
> >  
> > When I run the fuzzy version of the HVAC controller in the book, I
> > realize the heat pump is on most of the time. A plot of the graph
> > reveals that the pump is in operation 99.8% of the time. On 
> the other
> > hand, the Boolean logic version of the controller is in operation
> about
> > <90%. 
> >  
> > I understand the algorithms implemented are not meant to be 
> optimal as
> > this is not a book on control engineering. 
> > However, based on the two observations I have two questions.
> >  
> > 1.  Am I doing the right thing ? Is the Fuzzy version of the
> > controller suppose to be in operation close to 99.8% of the time?
> > 2.  I wonder if there is a way to make the fuzzy version to be
> > actually more energy efficient (i.e. operation times to be 
> lower than
> > the Boolean version, yet without switching the pump from OFF mode to
> > operation mode too frequently)? I read in some books and 
> websites that
> > fuzzy logic sometimes do help to cut energy cost. Any ideas how this
> can
> > be done ?
> >  
> >  
> > I wonder if anyone has tweak around with the example in the book
> before.
> > Would appreciate any comments and ideas. Many thanks!!
> >  
> > Regards, 
> > David
> >  
> 
> 
> 
> ---------------------------------------------------------
> Ernest Friedman-Hill  
> Science and Engineering PSEs        Phone: (925) 294-2154
> Sandia National Labs                FAX:   (925) 294-2234
> PO Box 969, MS 9012                 [EMAIL PROTECTED]
> Livermore, CA 94550         http://herzberg.ca.sandia.gov
> 
> --------------------------------------------------------------------
> To unsubscribe, send the words 'unsubscribe jess-users 
> [EMAIL PROTECTED]'
> in the BODY of a message to [EMAIL PROTECTED], NOT to the list
> (use your own address!) List problems? Notify
> [EMAIL PROTECTED]
> --------------------------------------------------------------------
> 
> --------------------------------------------------------------------
> To unsubscribe, send the words 'unsubscribe jess-users 
> [EMAIL PROTECTED]'
> in the BODY of a message to [EMAIL PROTECTED], NOT to the list
> (use your own address!) List problems? Notify 
> [EMAIL PROTECTED]
> --------------------------------------------------------------------
> 

--------------------------------------------------------------------
To unsubscribe, send the words 'unsubscribe jess-users [EMAIL PROTECTED]'
in the BODY of a message to [EMAIL PROTECTED], NOT to the list
(use your own address!) List problems? Notify [EMAIL PROTECTED]
--------------------------------------------------------------------

Reply via email to