Things to do

Just some brainstorming. Any suggestions welcome.

  1. Specify the various items in the section ``What and How to Compare''.
  2. We have to specify the functions in a unified manner. I suggest that for each problem we need to specify (1) the performance function, (2) the trajectory generation function (3) the main CE program. This main CE program will be responsible for updating the parameters. I don't know how ``general'' this can be made. I guess we have to have various versions, e.g. for the continuous and discrete case.

  3. We don't want to specify too many parameters. The main CE function should at least have 2 parameters, as in maince('perfun','genx'). The main CE parameters can be specified as in maince('perfun','genx',p1,p2,..). For the less important (tuning) parameters we can use an ``option'' list. this is the matlab way of doing things, which we should adopt.
  4. We should allow for the possibility to NOT store all the trajectories. This is important when the sample size N is large and all trajectories cannot be storen in memory.
  5. For the TSP and max-cut we need to give example matrices (data) in either .txt or .mat format.
  6. We need to provide benchmarks for the testcases. For example, when running this program 10 times on TSP ft53 we get these results: min, max, average, average number of function calls, average time. Always provide on what type of machine (MHz) it was run.

  7. For each test case we need to provide the maximum/minimum and the corresponding argument(s). The the total number of optima and global optima may be handy as well.

  8. We have to find out why the CE algorithm does not work (yet) on the ``pathological'' problem.

  9. We have to avoid using too many latex formulas. These will be converted to png format by latex2html and we don't want too many .png files, which will make loading slow and are ``non-searchable''. I propose to use typewriter font whenever possible. Thus, write x instead of $ x$ , except in large formulas.

  10. We should always call the performance function S, not f. There are still a few instances of f around.

  11. The way the performance functions are specified is not consistent. For example sometimes S(x) = is used, sometimes not. Also, for the trajectory (vector) sometimes $ \mathbf{x}$ is used, sometimes just x. Let's stick with S(x) =

  12. Each matlab program should start with a full explanation of what is does, like in any standard m-file. Typing ``help somefunction.m'' will display this. This explanation should appear exactly the same in the html file.

  13. At a later stage, the description of each m-file should be documented in a separate html file (function reference), like the usual help facilities in matlab. Compare for example with ``help fminsearch'' and typing fminsearch in the matlab help window.



cetoolbox www user
2004-12-17