SOLID-opt

SOLID-opt is a Qwen3-4B-Instruct-2507 checkpoint specialized for operations-research modeling. It is intended to turn natural-language optimization problems into structured reasoning, linear-programming formulations, and solver-oriented Python code.

This release is the checkpoint from training step 125. Training combines GRPO, solver-objective majority voting, and teacher KL localized with solver-information signals. The training configuration uses Gurobi-style nine-step outputs and a teacher-KL coefficient of 0.001.

Quick start

from transformers import AutoModelForCausalLM, AutoTokenizer

model_id = "JamesX421/SOLID-opt"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(
    model_id,
    torch_dtype="auto",
    device_map="auto",
)

messages = [
    {"role": "user", "content": "Formulate and solve this optimization problem: ..."}
]
inputs = tokenizer.apply_chat_template(
    messages,
    add_generation_prompt=True,
    return_tensors="pt",
).to(model.device)

outputs = model.generate(inputs, max_new_tokens=2048)
print(tokenizer.decode(outputs[0][inputs.shape[-1]:], skip_special_tokens=True))

Intended use and limitations

This model is released for research on mathematical optimization and operations-research reasoning. Generated formulations, coefficients, constraints, solver code, and claimed solutions may be incorrect, infeasible, or unsafe to use without review. Validate outputs with an appropriate solver and independent checks before using them in consequential settings.

No standalone evaluation results are included in this initial model card.

Downloads last month
249
Safetensors
Model size
4B params
Tensor type
BF16
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for JamesX421/SOLID-opt

Finetuned
(2104)
this model