NLP & ML Research · 202570h → 11.5h fine-tuning

LLMs for Job-Shop Scheduling

Course research on fine-tuning Llama 3.1 8B with graph-augmented prompts for job-shop scheduling (JSSP).

OptimizationLLMQLoRAJSSPPyTorch Geometric

Problem

Classical optimization problems carry hard feasibility constraints that vanilla language models often violate.

Approach

Our team of three modeled JSSP instances as disjunctive graphs, serialized precedence and machine conflicts into the prompt, and fine-tuned Llama 3.1 8B with 4-bit QLoRA.

Result

The pipeline produced a much more structured optimization workflow and made training/runtime tradeoffs manageable for course-scale experimentation.

How it works

Step 1 of 5: JSSP instance

Highlights

  • Fine-tuned Llama 3.1 8B with 4-bit QLoRA (Unsloth) on an NVIDIA RTX A6000, in a graph-augmented pipeline that converts each instance into a disjunctive graph (PyTorch Geometric) serialized into the prompt.
  • Pre-processed the noisy STARJOB dataset (~130k to 9,525 usable instances), cutting fine-tuning runtime from 70h to 11.5h.

Course research project under Prof. Aijun An at York University, built in a team of three.

What I built

I treated scheduling as a structure-first problem instead of a pure prompting problem. The project converts job shop instances into graph-shaped representations so the model sees precedence and machine conflicts explicitly.

Core decisions

  • Serialized machine and operation constraints instead of relying on free-form descriptions.
  • Used disjunctive graphs to preserve conflict structure.
  • Applied 4-bit QLoRA fine-tuning to keep experimentation feasible.
  • Focused on failure slices where outputs looked plausible but violated constraints.

What mattered most

The project became stronger once I stopped asking whether the LLM could "solve optimization" in the abstract and started asking whether the representation exposed enough constraint information for the model to reason over.

Back to projects
Role Fit Check