Write a Julia/JuMP model file from a multimod object
Usage
write_jump(
model,
file = NULL,
model_dir = NULL,
solver_dir = "jump",
output_name = "model.jl",
model_name = "model",
optimizer = "HiGHS.Optimizer",
optimizer_attributes = NULL,
use_folded = TRUE,
cleanup = TRUE,
export_data = FALSE,
export_vars = FALSE,
export_lp = FALSE,
export_mps = FALSE,
data_mode = c("external", "embedded"),
...
)Arguments
- model
A
multimodmodel object- file
Output file path (optional, overrides model_dir/solver_dir)
- model_dir
Directory where model was saved with save_model() (contains model.rds)
- solver_dir
Solver subdirectory name (default: "jump", e.g., "jump-highs", "jump-cplex")
- output_name
Output filename (default: "model.jl")
- model_name
Name for the JuMP model variable (default: "model")
- optimizer
Julia optimizer to use (e.g., "HiGHS.Optimizer", "GLPK.Optimizer", "CPLEX.Optimizer")
- optimizer_attributes
Named list of optimizer attributes to set (e.g., list(solver = "ipm", presolve = "on", parallel = "on")). For HiGHS: solver can be "simplex", "ipm" (interior point/barrier), or "choose" (default). Use "ipm" for large models (>1M rows) as it scales better than simplex. If NULL, uses solver defaults with automatic barrier method selection for large models (>1M constraints).
- use_folded
logical; whether to use folded equations if available (default: TRUE)
- cleanup
logical; whether to remove existing solver_dir before generating new files (default: TRUE)
- export_data
logical; whether to export parameter data to CSV files in data_export/ directory (default: FALSE)
- export_vars
logical; whether to export variable values to CSV files in vars_export/ directory after solve (default: FALSE). Note: Solution is always saved to solution/ directory regardless of this setting (required for load_results).
- export_lp
logical or character; if TRUE, exports model to LP format; if character, specifies filename (default: FALSE)
- export_mps
logical or character; if TRUE, exports model to MPS format; if character, specifies filename (default: FALSE)
- ...
Additional arguments (not used)
Examples
if (FALSE) { # \dontrun{
# Write to model directory with default solver subdirectory
write_jump(model, model_dir = "my_model")
# -> my_model/solvers/jump/model.jl
# Specify custom solver directory
write_jump(model, model_dir = "my_model", solver_dir = "jump-highs")
# -> my_model/solvers/jump-highs/model.jl
# Override with explicit file path
write_jump(model, file = "custom/path/model.jl")
# Use barrier method for large models
write_jump(model, model_dir = "my_model",
optimizer_attributes = list(solver = "ipm", parallel = "on"))
} # }
