文章目录

  • 问题
  • 代码
  • 求解结果

问题

代码

import gurobi.*;
/*** @Author:WSKH* @ClassName:TestGurobi* @ClassType:* @Description:* @Date:2022/6/5/11:38* @Email:1187560563@qq.com* @Blog:https://blog.csdn.net/weixin_51545953?type=blog*/
public class TestGurobi{public static void main(String[] args) {try {// 创建环境GRBEnv grbEnv = new GRBEnv("grbEnv");// 创建模型GRBModel grbModel = new GRBModel(grbEnv);// 声明CONTINUOUS连续变量GRBVar x1 = grbModel.addVar(-10, 50, -10, GRB.CONTINUOUS, "x1");GRBVar x2 = grbModel.addVar(0, Double.MAX_VALUE, 0, GRB.CONTINUOUS, "x2");GRBVar x3 = grbModel.addVar(5, 5, 5, GRB.CONTINUOUS, "x3");// 声明变量数组GRBVar[] grbVars = {x1, x2, x3};// 声明约束// 约束1:x1+2*x2+x3<=100GRBLinExpr expr1 = new GRBLinExpr();expr1.addTerms(new double[]{1,2,1},grbVars);grbModel.addConstr(expr1,GRB.LESS_EQUAL,100,"expr1");// 约束2:x1+x2-2x3>=10GRBLinExpr expr2 = new GRBLinExpr();expr2.addTerms(new double[]{1,1,-2},grbVars);grbModel.addConstr(expr2,GRB.GREATER_EQUAL,10,"expr2");// 目标函数:x1+2*x2+3*x3GRBLinExpr target = new GRBLinExpr();target.addTerms(new double[]{1,2,3},grbVars);grbModel.setObjective(target,GRB.MAXIMIZE);// 开始求解grbModel.optimize();// 输出求解结果System.out.println("最优解为:"+grbModel.get(GRB.DoubleAttr.ObjVal));System.out.println("x1 = "+x1.get(GRB.DoubleAttr.X));System.out.println("x2 = "+x2.get(GRB.DoubleAttr.X));System.out.println("x3 = "+x3.get(GRB.DoubleAttr.X));// 处理模型和环境grbModel.dispose();grbEnv.dispose();}catch (Exception e){e.printStackTrace();}}
}

求解结果

Set parameter Username
Academic license - for non-commercial use only - expires 2022-08-03
Gurobi Optimizer version 9.5.1 build v9.5.1rc2 (win64)
Thread count: 6 physical cores, 12 logical processors, using up to 12 threads
Optimize a model with 2 rows, 3 columns and 6 nonzeros
Model fingerprint: 0x5c13f6c7
Coefficient statistics:Matrix range     [1e+00, 2e+00]Objective range  [1e+00, 3e+00]Bounds range     [5e+00, 5e+01]RHS range        [1e+01, 1e+02]
Presolve removed 2 rows and 3 columns
Presolve time: 0.00s
Presolve: All rows and columns removed
Iteration    Objective       Primal Inf.    Dual Inf.      Time0    1.1000000e+02   0.000000e+00   0.000000e+00      0sSolved in 0 iterations and 0.00 seconds (0.00 work units)
Optimal objective  1.100000000e+02
最优解为:110.0
x1 = 50.0
x2 = 22.5
x3 = 5.0

【运筹优化】调用Gurobi求解LP问题(Java代码示例)相关推荐

  1. 模拟退火算法 java_转 | 模拟退火算法(SA)和迭代局部搜索(ILS)求解TSP的Java代码分享...

    以下文章来源于数据魔术师 ,作者周航 前言 大家好呀!我们你们好久不见的...咳咳,初次见面的小编! 之前重新整理了ILS的代码,有人留言问能不能提供java版. 正好最近在学启发式算法和java,为 ...

  2. 大数据 java 代码示例_功能Java示例 第7部分–将失败也视为数据

    大数据 java 代码示例 这是称为" Functional Java by Example"的系列文章的第7部分. 我在本系列的每个部分中开发的示例是某种"提要处理程序 ...

  3. 大数据 java 代码示例_Java变量类型与示例

    大数据 java 代码示例 Java变量 (Java variables) Variables are the user-defined names of the memory blocks, and ...

  4. webp动图压缩java代码示例

    很高兴为您解答.WebP动图压缩的Java代码示例如下: import java.awt.image.BufferedImage; import java.io.File; import java.i ...

  5. java schema校验_Json Schema 校验json,java代码示例

    Json Schema 校验json,java代码示例 1.json schema 入门请参考下面两篇博客 1.1Json Schema 快速入门 1.2Json Schema 简介 2.java代码 ...

  6. Python调用Gurobi求解简单线性规划问题

    前言 Gurobi是一款功能强大的商用求解器,支持Python.C.C++.Java等多种语言调用,相比于Cplex,Gurobi封装更高,更加方便,但是对于初学者而言会更难一些.Gurobi与Cpl ...

  7. 【Groovy】集合遍历 ( 集合中有集合元素时调用 flatten 函数拉平集合元素 | 代码示例 )

    文章目录 一.集合中有集合元素时调用 flatten 函数拉平集合元素 二.完整代码示例 一.集合中有集合元素时调用 flatten 函数拉平集合元素 在上一篇博客 [Groovy]集合遍历 ( 操作 ...

  8. java调用qq接口_用java代码怎么去请求腾讯接口并返回值

    这是参看代码,你看一下,里面的HttpClient包你要自己去下public static void main(String[] args) { CloseableHttpClient httpcli ...

  9. 【Android 内存优化】Android 原生 API 图片压缩代码示例 ( PNG 格式压缩 | JPEG 格式压缩 | WEBP 格式压缩 | 动态权限申请 | Android10 存储策略 )

    文章目录 一. 图片质量压缩 二. 图片尺寸压缩 三. Android 10 文件访问 四. 完整源码示例 上一篇博客 [Android 内存优化]图片文件压缩 ( Android 原生 API 提供 ...

最新文章

  1. 基于深度学习方式的点云处理算法汇总
  2. 著名投资人Chris Dixon:计算的下一波浪潮是什么?
  3. Spring-整合多个配置文件
  4. docker容器管理 php,基于Docker的PHP开发环境
  5. mysql数据库算法_数据库:MySQL索引背后的数据结构及算法原理【转】
  6. Oracle中5个核心Sql语句的基本构造:Select、Insert、Update、Delete和Merge
  7. 超全Linux备份工具集合,满足你的所有需要!
  8. UI设计干货素材|教你正确使用浮动按钮
  9. 华为否认启动“塔山计划”;中金:苹果中国区下架微信概率较小;Linux Lab发布v0.5 rc3| 极客头条...
  10. bat命令 延迟执行
  11. 乐优商城(01)--项目启动
  12. 数字图像处理技术与应用练习题
  13. 超详细的ENSP安装教程附下载地址
  14. 后缀–ize_英语常用后缀-ize
  15. macOS Monterey 怎么升级?macOS 12升级教程
  16. python 千位分隔符_千位分隔符的完整攻略
  17. android 4.4 设置谷歌拼音输入法为默认输入法,android4.4修改出厂默认输入法
  18. 发现一个多地区 ping 网址的工具,岂止一个“牛”字了得
  19. 阿里云短信服务-个人账户测试短信服务
  20. 人工智能必读书籍推荐—“花书”/计算机视觉/深度学习书籍

热门文章

  1. Android源码编译及替换成自己编译的linux内核
  2. 5.JavaSwing知识点----(1)swing中的容器
  3. CTFshow-卷王杯-简单的re(复现)
  4. 派克轴向柱塞泵PV系列
  5. 汽车厂商 API数据接口
  6. 快捷安装Mac系统下安装/卸载brew
  7. Hive_HQL_复杂SQL_连续发单天数
  8. ubuntu16.04 caffe /usr/bin/ld : cannot find -lxxx (xxx代表不同的库名称)
  9. Unity3D之鼠标的隐藏与显示
  10. 五、交换机 与 发布/订阅模式、路由模式、主题模式