I would like to propose a tutorial section on using an LLM to troubleshoot a FET

Started by CarlosK-Mexico, August 26, 2026, 10:31:25 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

CarlosK-Mexico

Hello,

I'm finding the use of an LLM as a troubleshooting tool to be a great time saver. And I would like to propose adding a quick tutorial. Maybe something like this.

Troubleshooting a FET file can be logic-intensive and may require a subscription to access the more advanced LLM.

For my scenario, I use ChatGPT because I have a subscription.

I will use ChatGPT in this tutorial, but the principles should apply to any LLM. By the time you read this, the example model will be outdated, so please select the latest available to you. For me, I set the model to "GPT-5.6 Sol" and set the reasoning to "High". These were the most advanced models and settings for me at this time.

It is important to use the latest version of FET and to let the LLM know what version you are using and what software you're using. Also provide the LLM with any warnings and any output from an interrupted generation.

This is the prompt I used:
I'm using FET timetable software 7.10.1. Help me troubleshoot this FET file. I get these warnings from FET when I try to generate the file.

For this example, I used a FET file uploaded to the public forums. The FET file used was available at this link: https://lalescu.ro/liviu/fet/forum/index.php?topic=6894.0

When I started to generate the timetable, I was provided with warnings and copy pasted this into the chat. After several minutes, I interrupted the timetable generation and uploaded the information to the LLM. See the attached TXT as an example. You cannot view this attachment.

The LLM took 7 minutes to reason and provided the following suggestions (please see the attached Markdown file). You cannot view this attachment.

Liviu Lalescu

Hello, Carlos,

Thank you for your interest! @Volker Dirr , what do you think? Volker and Carlos, should we make a new FET forum board for this?

CarlosK-Mexico

And/or create a pinned post in the forum "Get Help on Your Input File". With the goal of giving users an extra tool to troubleshoot their schedule.

I'd be thrilled to help work on a markdown file for use as a prompt to troubleshoot a schedule. You have great documentation, because the LLM was able deduce the XML structure and meaning.

We could start with a simple markdown pointing to the XML documentation or XSD. And any relevant documentation on how to interpret the values, and the algorithms. Add a checklist of simple things to verify.
Troubleshooting tips you've learned over the years.

Liviu Lalescu

Carlos, you could post such a topic and, with Volker's approval, we could pin it.

Volker Dirr

I tried with an other example. See https://lalescu.ro/liviu/fet/forum/index.php?topic=6116.0

Chat-GPT was ~4 times slower than me :-) But on the other hand it wrote the exact activity while I only wrote "the problematic activity", so he was forced to read the last placed problematic activity himself; but that is an very easy job; only reading the last line.

But i don't like Chat-GPTs last recommendation with the 95%. That is in my opinion a bad idea.
see:
https://lalescu.ro/liviu/fet/forum/index.php?topic=6116.0

Well for the prompt wasn't much needed. I only wrote:

"I am using the FET timetabling software. I have a file (see attachment) that doesn't solve. it can only place 85 out of 393 activities. the difficult activities are "Information relating difficult to schedule activities: COPY AND PASTE FROM FET". Please help me."

So only these 3 information are needed in the prompt:
1. I am using FET timetabling software
2. See attached file
3. The difficult activity is.

But I must admit this was a very easy file. I saw that bug in that file in ~1 minute. Interesting will be more difficult files/bugs if chat-gpt can also help there.

CarlosK-Mexico

I'll post a message tomorrow to the "Get Help on Your Input File" forum. If you like it, maybe it can be pinned. Any suggestion for the title? "Using AI to troubleshoot your FET file"?

Out of curiosity, which ChatGPT model did you use and what level of reasoning?

I agree that ChatGPT and LLMs can make some awful suggestions. A markdown file with your tips would be useful. Include instructions such as "do not suggest lowering weights until ...". That could be a conversation for later.

Maybe a future release could include a button that says "Copy information for AI to troubleshoot". Move people toward self-help.

Liviu Lalescu

Thank you, Carlos, I'll add your suggestion in the TODO!

You know best the title for the post.

gradgrind

The first example above is a case where the timetable is impossible even with no constraints.

Perhaps FET could be extended to recognize such a case? A general algorithm might be difficult – I think even this subset of the timetabling problem is NP-complete. So even ChatGPT might not be able to handle all input files in a reasonable time.

Here it looks like it has found a sequence of activities which won't fit in the time slots. It should be possible to program something like this which would be quicker (and cheaper?) than ChatGPT. I might try that sometime ...

A simpler, though less "analytical", assistance might be to run an unconstrained instance first. If it doesn't complete within a short time, there is a possibility that this is such an impossible case. A warning could be issued, or further instances could be run with more time slots to see if that helps. The example above completes quickly with six extra time slots. This doesn't give the detailed analysis of the problem like ChatGPT did, but the "highest stage timetable" and its failing activity might give clues, as usual.

Volker Dirr

Quote from: CarlosK-Mexico on August 28, 2026, 05:21:50 AMOut of curiosity, which ChatGPT model did you use and what level of reasoning?

Chat-GPT 5.6 SOL highest level

Volker Dirr

Quote from: gradgrind on August 28, 2026, 08:35:51 AMIt should be possible to program something like this which would be quicker (and cheaper?) than ChatGPT.

Well, we added already a lot of checks very similar to this one before we start generating. But there are so many different possible variants. We can't code all in our spare time.
Yes, FET is "cheaper", but only because most guys don't pay Liviu nor me. So we are a bit like "slaves" working for free and we are always happy if at least sometimes one of our users give us some food (donation).

Liviu Lalescu

Even a file with only the basic constraints is NP-complete, from what I know. I remember that we tried at first on exactly such a file, back in 2007, when FET was bad, and the moment we discovered that algorithm in the summer of 2007, it was great the FET solved German_subact_constr.fet with only the basic constraints. I am not sure, but maybe at that time FET solved only with activities with duration 1, so even simpler. Then we developed more constraints, and they fit.

We could check the files for more inconsistencies, like activities with duration >= 2 which have no place, or other things users will suggest, but it is a complicated task, and I don't like it enough to try it, with our collaborators. If the international community would sponsor this research, I might like it enough to try it, together with our collaborators. It is thinking of many possible situations which are logically impossible, but the overall idea is that for a complicate file we cannot know if FET can solve it unless we let FET try to solve it.

fetviewer

I have been following this thread. I have spent a long time on the deterministic half of this problem, so let me add what I have found.

Volker's result matches what I have seen. An LLM is very good at reading a FET file and describing it back to you. It is unreliable at the point where it matters. It will confidently tell you to lower a weight, and that is the one suggestion that turns a file you could have diagnosed into a timetable that is bad for reasons you cannot see. I would not want a beginner to follow that without supervision.

gradgrind's point is the one I would build on. Much of what people bring to ChatGPT is not reasoning at all. It is arithmetic, and it can be checked before the solver starts:

  • a teacher has more hours assigned than they have free slots left, once their unavailable times are applied;
  • an activity has no legal starting slot left at all, once every rule that touches it is applied;
  • a set of lessons has to spread over more days than are still available to it;
  • a group of lessons that must start together has no starting time in common.

None of this needs a model. It is counting, and it takes about a second. The useful part is not the verdict. It is the trace: which rules, by name, removed the possibilities. Then the answer is "these two rules together make it impossible", instead of "try lowering some weights".

There is one limitation and I want to state it clearly. This can only prove impossibility. It can never tell you that a file is solvable. Liviu already said the important thing in this thread: with a complicated file you cannot know whether FET can solve it without letting FET try. So the honest scope is a check you run before the solver, which catches the files that were never going to work and stays quiet otherwise. A checker that guesses is worse than no checker, because people will trust it.

I have this working. It reports only what it can prove. If you have a file that is misbehaving, send it to me and I will send you back what it says, including nothing at all if it finds nothing. I am equally interested in being told where it is wrong. A false positive is the only thing that would make a checker like this worthless, so I would rather hear about one here than not hear about it.

On the tutorial itself, I think it is worth doing anyway. The two are complementary. Arithmetic for the impossible cases, and an LLM for "help me understand what this file is even trying to do". If someone writes a markdown prompt file, one line worth putting in it is: do not suggest changing weights as a first resort.
FET Timetable Explorer
fetviewer.com