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

# mip1_cs.cs

    /* Copyright 2025, Gurobi Optimization, LLC */

    /* This example formulates and solves the following simple MIP model:

         maximize    x +   y + 2 z
         subject to  x + 2 y + 3 z <= 4
                     x +   y       >= 1
                     x, y, z binary
    */

    using System;
    using Gurobi;

    class mip1_cs
    {
      static void Main()
      {
        try {

          // Create an empty environment, set options and start
          GRBEnv env = new GRBEnv(true);
          env.Set("LogFile", "mip1.log");
          env.Start();

          // Create empty model
          GRBModel model = new GRBModel(env);

          // Create variables
          GRBVar x = model.AddVar(0.0, 1.0, 0.0, GRB.BINARY, "x");
          GRBVar y = model.AddVar(0.0, 1.0, 0.0, GRB.BINARY, "y");
          GRBVar z = model.AddVar(0.0, 1.0, 0.0, GRB.BINARY, "z");

          // Set objective: maximize x + y + 2 z
          model.SetObjective(x + y + 2 * z, GRB.MAXIMIZE);

          // Add constraint: x + 2 y + 3 z <= 4
          model.AddConstr(x + 2 * y + 3 * z <= 4.0, "c0");

          // Add constraint: x + y >= 1
          model.AddConstr(x + y >= 1.0, "c1");

          // Optimize model
          model.Optimize();

          Console.WriteLine(x.VarName + " " + x.X);
          Console.WriteLine(y.VarName + " " + y.X);
          Console.WriteLine(z.VarName + " " + z.X);

          Console.WriteLine("Obj: " + model.ObjVal);

          // Dispose of model and env
          model.Dispose();
          env.Dispose();

        } catch (GRBException e) {
          Console.WriteLine("Error code: " + e.ErrorCode + ". " + e.Message);
        }
      }
    }

Help and Feedback

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