powertac / powertac-server

Power TAC simulation server
www.powertac.org
Apache License 2.0
45 stars 35 forks source link

Customers with interruptible consumption are not signing up for interruptible tariffs #521

Closed jecollins closed 12 years ago

jecollins commented 12 years ago

I have modified the sample broker to offer tariffs for each PowerType, with the interruptible tariffs at a 10% discount over the non-interruptible. But the customers are all signing up for the non-interruptible tariffs. Why is this?

chrysopoulos18 commented 12 years ago

I have looked into this and I think the problem was the lamda fine tuning. I have made some experiments over it. Before I finalize the values, i woulkd like to ask if we want different lamdas for each type of households?

Mind that this is a different thing than inertia. In my models, each type has different inertia in order to decide if it would change the current tariff. The lamda would change the smartness of the decision between the tariffs, after he decided to change.

jecollins commented 12 years ago

On 04/17/2012 07:15 AM, Anthony Chrysopoulos wrote:

I have looked into this and I think the problem was the lamda fine tuning. I have made some experiments over it. Before I finalize the values, would we like different lamdas for each type of households?

Mind that this is a different thing than inertia. In my models, each type has different inertia in order to decide if it would change the current tariff. The lamda would change the smartness of the decision between the tariffs, after he decided to change.

Is this written up somewhere? I've looked at the code but have not studied it in detail, and I don't understand what lamda does. (BTW, the conventional English spelling for the greek letter is "lambda" - don't ask me why.)

I've tried two experiments in an attempt to get subscriptions:

  1. Added a default tariff for INTERRUPTIBLE_CONSUMPTION
  2. Reduced the rate for the interruptible tariff from the broker to 60% of the non-interruptible tariff.

So far, I have not gotten any subscriptions. This is turning out to be a major holdup.

I will commit and push everything (on the controllable-capacity branch) so you can try it out yourself. Note that you will need to do mvn install on common, then run the server on STS - first a boot session, then a sim session - and for the sim you run the sample broker using 'mvn exec:exec'.

John

chrysopoulos18 commented 12 years ago

Lambda is the parameter that was defined in the page 15 of the white paper of the competition as the measure of how rationally the customer will choose the tariffs when the tariff evaluation is taking place.

In my models, this can be chosen for each type of house seperately. With the value that it has now, given the quantities of power from the houses, he sees each tariff similar to the rest.When I put a larger price, it starts choosing the cheaper ones with greater possibility.

The question is, do we want all the type of customers having the same decision parameter or do we want to have some models that are completely logic and some which are completely random... Or something in between for all of them?

jecollins commented 12 years ago

On 04/18/2012 12:54 AM, Anthony Chrysopoulos wrote:

Lambda is the parameter that was defined in the page 15 of the white paper of the competition as the measure of how rationally the customer will choose the tariffs when the tariff evaluation is taking place.

In my models, this can be chosen for each type of house seperately. With the value that it has now, given the quantities of power from the houses, he sees each tariff similar to the rest.When I put a larger price, it starts choosing the cheaper ones with greater possibility.

The question is, do we want all the type of customers having the same decision parameter or do we want to have some models that are completely logic and some which are completely random... Or something in between for all of them?

I think some variability would be fine, but I cannot believe it's a matter of probabilities. If I put out a controllable tariff at a price that's 60% of an equivalent non-controllable tariff, I would expect to see at least one subscription, eventually. Both tariffs are published at the same time, so it's not a matter of switching. I think it's a bug. How could it not be?

John

chrysopoulos18 commented 12 years ago

I have fine tuned the parameters and tested them (in the unit tests for now), and I have made a commit about this.Would you mind try this and tell me if this was fixed. Thank you in advance.

jecollins commented 12 years ago

I still see no signups for the interruptible tariff. I test this by running a boot session, then a sim session using the current sample broker. The sample broker offers tariffs for each powerType in the bootstrap-data file. The rate for the interruptible-consumption tariff is significantly lower than for the non-interruptible tariff.

jecollins commented 12 years ago

Another data point: interruptible customers DO sign up for the default broker's interruptible tariff. It is exactly the same as its non-interruptible tariff. But when the sample broker offers its tariffs, all customers switch to its non-interruptible tariff. Non subscribe to the interruptible tariff. Why is this?

chrysopoulos18 commented 12 years ago

In my implementation when the competition begins the models subscribe to the default tariff of their Powertype. So it is normal to take the interruptible tariff from the default broker.

When the customer evaluates tariffs, then the consumption customerinfo (base load) takes into consideration the CONSUMPTION tariffs only. The INTERRUPTIBLE-CONSUMPTION customerinfo takes into consideration both the CONSUMPTION and the INTERRUPTIBLE-CONSUMPTION tariffs and then evaluate them the same way. If the interruptible tariff are present and have less cost they should have chosen them. In the household Controllable Capacity Tests, particularly in evaluation of tariffs test, you can see that if you run it, they change to the interruptible tariff that is cheaper. I don't know what might be going wrong in the simulation.

I will look into that. Your sample broker send the tariff through the graphical interface or is it hard copied? Would you mind uploadiong the sample broker you have created in a repo in your account to download and make the same test as you do?

jecollins commented 12 years ago

I reduced the maxCurtailment to 0.0 and tried again. The rate for the interruptible tariff is 0.8 times the non-interruptible tariff. Now I get exactly one subscription, from customer FrostyStorage in the factored-customer model. Still none from the household-customer model.

chrysopoulos18 commented 12 years ago

I have found the lines that created the problem and fix it. Hopefully everything will be working as it should now.

jecollins commented 12 years ago

It does indeed appear to be fixed. Thanks.