Re: [tablix-list] new module & some questions

From: Antonio Duran <>
Date: Fri Jun 03 2005 - 13:57:13 CEST

Thanks very much for your input. Everything is working now, i think.

I coded not-same-day at the subject level first, and recoded it later
when i started to view it like double-period. What you tell me makes all
sense, so i send the first version.

Aside from playing a little with code, i have been testing Tablix this
week. A little background: i work as the network admin in a high school.
Right now i am in a position where i can try to promote the use of new
free software in the rest of schools and high schools in my region.
In this region where i live, called Extremadura, a computer have been
set up for every two kids, running a Debian based distro called Linex.

So, as you may think, computer power is not a problem: my test lab right
now includes 14 P4 1800 Mhz computers, running day & night. I have to
nodes in each one. For a real timetible, i could have 2 o 3 hundreds
machines running for a weekend, if needed.

So, what i am trying to do is test how "good" is Tablix at resolving
real problems. If Tablix manages to get my timetibles, i think it could
do almost anyone's, because i have a really complex school. I think, in
sum, it could be up to 40 or more classes, with a lot of restrictions to
If it can´t, i think my timetables could be a good test for the ongoing

I have started with 4 classes, but i don't get a solution. Here, they
use a commercial program which runs on Windows, where i test my
timetables too. It gets a working timetable soon.

Its been a week of re-reading the config, spotting errors, and running
the test again, but now i am stuck.

I have removed a 4 period block to try to relax restrictions for now,
and i have not used my modules yet.

If i remove the double_period module, a result is found in 10 minutes.
If i remove the placecapability module, a result is found in 13 minutes.

With these results, i assume there are no remaining errors in the config
file. However, i could be totally wrong :)

I am going to let it going for the whole weekend, and monday i'll see if
i have something, but i dont think so, because it has been running all
night long without getting less errors.

If anyone in insterested, i have attached the config file i am testing

Best regards,

El jue, 26-05-2005 a las 18:11, Tomaz Solc escribió:
> Hash: SHA1
> Hi
> > First let me say Tablix rocks :)
> I'm glad to hear that.
> > So, would you please take a look a it an tell me? I don't fully
> > understand the tablix structures yet, so i don't know if this is the
> > fastest way to do this, either.
> Your tuple restriction "not-same-time" affects all tuples with the same
> subject, not just the tuple with this restriction. It would be better if
> you would make this a subject restriction - tuple restrictions are
> expected to affect only tuples they are used on.
> Also I believe your example in the module documentation should look like
> this:
> <timetable>
> <subject title="MATH_LAB" teacher="Cronin" perweek="1">
> <restriction type="not-same-day">MATH_FIRST Cronin</restriction>
> </subject>
> </timetable>
> At the moment I don't see how you could make your grade function faster.
> > Well, i have started writing another module to prevent one teacher from
> > being scheduled at the last period of a day and the fisrt of the next. I
> > thought it was really simple (in fact it must be :) but i can't get it
> > working. Here's a snippet with comments on what i try to do:
> >
> > pnt=tpnt;
> > for(tid=0;tid<tmapnum;tid++) { // for each teacher
> > for(day=0;day<DAYS - 1;day++) { // For each day, but the last one
> > pnt += (PERIODS - 1); // Go to the last period of the day
> > if (*pnt!=-1) { // the teacher has a lesson assigned in this period
> > pnt++; // Go to the first period of the next day
> > if (*pnt!=-1) //the teacher has lesson assigned
> > sum++;
> > } else pnt++; // Go to the first period of the next day
> > }
> > }
> >
> > I am doing something wrong, i guess the tpnt array is not aligned as i
> > think or something. Could you help please?
> pnt pointer isn't pointing to the first period of the first day for the
> second teacher after the inner loop is finished. It is pointing to the
> first period of the last day for the first teacher. You should add
> "pnt+=PERIODS" after the inner loop.
> Best regards
> Tomaz Solc
> Version: GnuPG v1.4.1 (GNU/Linux)
> Comment: Using GnuPG with Thunderbird -
> iD8DBQFClfUksAlAlRhL9q8RAkzAAKDVhj5YFWuF6JZ9zg7R2RtLsz87uQCg3uwv
> Ec6CMFhf7hTTWV+f08TNhgE=
> =sPul

Antonio Durán
Administrador de red. IES El Brocense.

Received on Fri Jun 03 13:57:31 2005

This archive was generated by hypermail 2.1.8 : Tue Aug 16 2005 - 20:43:44 CEST