SOLID-Qwen3
SOLID-Qwen3 is trained from Qwen3-4B-Instruct-2507, 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.
Training combines GRPO, solver-objective majority voting, and teacher KL localized with solver-information signals. The training configuration uses Gurobi-style nine-step outputs.
Quick start
from transformers import AutoModelForCausalLM, AutoTokenizer
model_id = "AIOR-Research/SOLID-Qwen3"
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.
Citation
If you use SOLID in your research, please cite:
@misc{zhu2026verifiedanswerssolverinformedselfdistillation,
title={Beyond Verified Answers: Solver-Informed Self-Distillation for Bootstrapping Operations Research Language Models},
author={Rui Zhu and Minglong Cao and Chenyu Zhou and Jianghao Lin and Dongdong Ge},
year={2026},
eprint={2609.09957},
archivePrefix={arXiv},
primaryClass={math.OC},
url={https://arxiv.org/abs/2609.09957},
}