FET Forum

Discussions and Chat => Programming and other Technical Help => Topic started by: sstt2 on August 25, 2009, 10:05:09 AM

Title: Important..timetabling algorithm
Post by: sstt2 on August 25, 2009, 10:05:09 AM
Hi
I want your help,

can you support me with the pure(timetabling algorithm) part of the fet program so that i can use it in my own vb.net program

i'm any developer and trying to make timetabling program with vb.net

and hop to use the same fet timetabling algorithm

thanks
Title: Re: Important..timetabling algorithm
Post by: Liviu Lalescu on August 25, 2009, 10:21:02 AM
Hello!

The algorithm is in generate.cpp. You may also need generate_pre.cpp (which initializes the data structures) - but this only optional. File generate.cpp uses QSet (a set of integers) and QList (a list of integers), which may be available also on vb.net, I am not sure.
Title: Re: Important..timetabling algorithm
Post by: Liviu Lalescu on August 25, 2009, 10:29:49 AM
Or maybe you could use the command line version of FET (see README file for instructions). You could generate a .fet file from your file, then run FET command line on it, then import the results into your program.
Title: Re: Important..timetabling algorithm
Post by: sstt2 on August 25, 2009, 01:21:57 PM
thanks for your reply

actualy i used your command line up to this time
but,i dont want to include 50 Mb files with my application
as i think that there is no need to include the (fet) all files while i'm useing (command line )
so,i'm trying to isolate the algorithm and use it only to decrease my application size

thanks for your help
i'll try to find out how to use generate.cpp file with my .Net application
Title: Re: Important..timetabling algorithm
Post by: Liviu Lalescu on August 25, 2009, 01:33:29 PM
It is hard what you want.

Somebody else asked me for a simplified command line version. I attach to this message the files I sent him. It is an old version, but you can update probably just by overwriting the old files with the same files from FET-5.10.3.

The problem is that you still need to include the Qt dll-s (only the size of the fet.exe is smaller).

But maybe you can work easier with these files (there is no interface added here). You could remove all the dependence on Qt classes, by adding VB.NET classes which correspond to QList, QSet and QHash. And get rid of QMessageBox-es, just remove them.

Or you could extract from Qt sources the code for QList, QSet and QHash, and add it, if the total code is not too large. Just an idea.

Another idea: you could try to compile the attached files with Qt static. You will get only a fet.exe, probably much smaller than the whole Qt dll-s.
Title: Re: Important..timetabling algorithm
Post by: Liviu Lalescu on August 25, 2009, 02:46:26 PM
The forum YaBB has a minor problem with the attachment I sent, it is t_tar.bz2, please rename it t.tar.bz2, then unpack.

It is a problem with double extension files in YaBB previous to 2.3. I cannot update to latest YaBB, I meet some problems.
Title: Re: Important..timetabling algorithm
Post by: sstt2 on August 25, 2009, 02:53:50 PM
thanks for your help
realy i find your notes helpfull for me

i'll convert your algorithm to .Net class
and i'll send you copy of this class

actualy,I cant find words to say for you  [smiley=thumbsup.gif]

[smiley=dankk2.gif]

thaaaaaaaaaaanks alot for your help
Title: Re: Important..timetabling algorithm
Post by: chenzen on June 04, 2010, 06:56:04 PM
I tried removing all other interface codes (cpp and header along with ui) than fet.h and fet.cpp, but it gave me many compilation error. what do you suggest me to do for a simple resolve?
Thanks
Title: Re: Important..timetabling algorithm
Post by: Liviu Lalescu on June 06, 2010, 07:15:40 PM
QuoteI tried removing all other interface codes (cpp and header along with ui) than fet.h and fet.cpp, but it gave me many compilation error. what do you suggest me to do for a simple resolve?
Thanks

Please write/attach here all errors and I'll try to tell you how to solve them. Maybe you need also to keep a part of fetmainform.cpp.