← Back to team overview

fema-team team mailing list archive

Re: FEMA Architecture

 

Hi,

The requirement from Pablo was that the user should be able to specify a
time limit. Usually, in a non-distributed environment the clock time is used
as an approximate measure of the cpu time spent on a specific task. However,
this is not appropriate in our situation.

BOINC implements a credit system which is typically used to tell a volunteer
how much they have granted to a project. Basically, a volunteer is granted a
certain amount of credit for every work-unit completed by them. I think we
could use this credit system, along with the fitenss of the best solution as
a termination criteria.

So, we would allow the user to enter credit limit, which indicates how much
processing power they would like to be spent on the job. When the user has
not given a credit limit, we can terminate a job if it uses up a certain
amount of credit without making any improvements to the fitness of the best
solution.

Regards,
jt


On Tue, Aug 30, 2011 at 11:49 PM, James Newell <jameslnewell@xxxxxxxxx>wrote:

>
>  did we decide that the user selects which objective function they want to
> use in the running of the algorithm?
>
>
> I don't believe so.
>
> If so, isn't that pretty much an SOO as well?
>
>
> Yep. Its probably not helpful if you're asked to find the best solution for
> both doctors and paitients if you find a solution thats good for doctors but
> sucks for paitients or vice versa.
>
> On 30/08/2011, at 11:43 PM, John Dunnet wrote:
>
> A maximum number of generations without improvement (a new best solution)
>> is a better condition (but not sure if it can be applied in MOO).
>>
>
> Yeah, this is  probably a better idea, and I guess it could be generic code
> for the single objective functions... Not sure about MOO either though - did
> we decide that the user selects which objective function they want to use in
> the running of the algorithm? If so, isn't that pretty much an SOO as well?
>
> On 30 August 2011 23:35, James Newell <jameslnewell@xxxxxxxxx> wrote:
>
>>
>> Would a job be considered finished if the generation or time limit is
>> reached?
>>
>>
>> I don't think time limit would be a very good condition in our case
>> because if we don't have many volunteers the time limit will quickly lapse.
>>
>> A maximum number of generations would be OK for an absolute upper bound
>> but will stop jobs regardless of whether a job is stuck or still
>> progressing.
>>
>> A maximum number of generations without improvement (a new best solution)
>> is a better condition (but not sure if it can be applied in MOO).
>>
>> Will everyone's termination conditions be the same and can be part of the
>> framework as common code or is this algorithm or problem specific?
>>
>> Also, if there is an option for some of the problems to also submit an
>> optimal solution file, that could be used as a reference for when the job
>> needs to end.
>>
>>
>> The (partial) "islands" aka Client are going to send back all the evolved
>> individuals (chromosome and fitness or objective values) from which the
>> Server (assimilator) can check for a new best solution.
>>
>>
>> On 30/08/2011, at 11:18 PM, John Dunnet wrote:
>>
>> Would a job be considered finished if the generation or time limit is
>> reached? Also, if there is an option for some of the problems to also submit
>> an optimal solution file, that could be used as a reference for when the job
>> needs to end.
>> -John
>>
>> On 30 August 2011 23:15, James Newell <jameslnewell@xxxxxxxxx> wrote:
>>
>>> Just stepping through my use case… To know which jobs are running, the
>>> server will have to notify the UI when jobs are "finished" i.e. update a
>>> flag in the UI Jobs database.
>>>
>>> By the way how will the server know when a job is "finished"?
>>> --
>>> Mailing list: https://launchpad.net/~fema-team
>>> Post to     : fema-team@xxxxxxxxxxxxxxxxxxx
>>> Unsubscribe : https://launchpad.net/~fema-team
>>> More help   : https://help.launchpad.net/ListHelp
>>>
>>
>>
>>
>
>
> --
> Mailing list: https://launchpad.net/~fema-team
> Post to     : fema-team@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~fema-team
> More help   : https://help.launchpad.net/ListHelp
>
>

References