Hide navigation sidebar
Hide table of contents sidebar
Back to top
Toggle table of contents sidebar

# lpmethod.R

    # Copyright 2025, Gurobi Optimization, LLC
    #
    # Solve a model with different values of the Method parameter;
    # show which value gives the shortest solve time.

    library(Matrix)
    library(gurobi)

    args <- commandArgs(trailingOnly = TRUE)
    if (length(args) < 1) {
      stop('Usage: Rscript lpmethod.R filename\n')
    }

    # Read model
    cat('Reading model',args[1],'...')
    model <- gurobi_read(args[1])
    cat('... done\n')

    # Solve the model with different values of Method
    params     <- list()
    bestTime   <- Inf
    bestMethod <- -1
    for (i in 0:4) {
      params$method <- i
      res <- gurobi(model, params)
      if (res$status == 'OPTIMAL') {
        bestMethod       <- i
        bestTime         <- res$runtime
        params$TimeLimit <- bestTime
      }
    }

    # Report which method was fastest
    if (bestMethod == -1) {
      cat('Unable to solve this model\n')
    } else {
      cat('Solved in', bestTime, 'seconds with Method:', bestMethod, '\n')
    }

    rm(params, model)

Help and Feedback

Press `/` or click to search this documentation | Gurobi website | Gurobi community forum
Go to other Gurobi documentation | Gurobi download | Contact support