kiwi icon indicating copy to clipboard operation
kiwi copied to clipboard

[QUESTION] Timetable constrain solver

Open WhatzzUpp opened this issue 3 years ago • 4 comments

Cheers Community,

I would like to build a lesson planner and am looking for a constrain solver in NodeJS. Currently I have found OptaPlanner as a Java variant and your kiwi.js npm package.

Does anyone have experience with constrain solvers in NodeJs environment (kiwi.js) and maybe with timetables?

Current "hard" constrains are:

  • classes
  • rooms
  • subjects
  • Teachers
  • timeslots

The idea behind the constraint solver should be an automatic assignment of subjects/teachers/classes within given timeslots.

Thanks for your help!

WhatzzUpp avatar Apr 01 '22 06:04 WhatzzUpp

I'm working on something like this but hitting some limitations. Let me know if you want to se where I'm at. I could use a pair to help me solve the last piece.

GantMan avatar Aug 09 '22 17:08 GantMan

I'm sorry I missed this and am replying so late. It is an interesting use case. I don't have much experience with the problem set, as I forked this as part of a fork of autolayout.js to convert to TypeScript in order to compile to WebAssembly, ultimately for making UI layouts.

As for Node.js, this can definitely be used there. The output (dist/ folder) is just JavaScript with no browser- or node-specific dependencies. You can simply import it and use it.

trusktr avatar Aug 09 '22 20:08 trusktr

@GantMan yes, curious to see what you're working on!

trusktr avatar Aug 29 '22 22:08 trusktr

So I think you can't use Lume/Kiwi to do scheduling bc it's basically a linear optimizer, and schedules are multi-dimension. My code completely fails when I attempt to make a picker. I wound up using a custom solution.

GantMan avatar Aug 29 '22 22:08 GantMan