import ilog.cplex.CpxMult;
import ilog.cplex.CpxNumExpr;
import ilog.cplex.IloCplex;
import ilog.concert.*; public class MyCaculate
{ // static
// {
// System.loadLibrary("cplex1271");
// } static int length = 5000000; public static void main(String[] args) throws IloException
{
IloCplex cplex = new IloCplex();
IloRange[] constraint = new IloRange[length];
IloIntVar[] var = new IloIntVar[length];
// 变量取值下界
int[] lb = new int[length];
for (int i = 0; i < length; i++)
lb[i] = i;
// 变量取值上界
int[] ub = new int[length];
for (int i = 0; i < length; i++)
ub[i] = Integer.MAX_VALUE;
// 变量名
String[] varname = new String[length];
for (int i = 0; i < length; i++)
varname[i] = "x" + (i + 1);
var = cplex.intVarArray(length, lb, ub, varname); // x1 + x2
for(int i =1; i <= 10000;i++)
{
IloNumExpr r1 = cplex.sum(cplex.prod(1, var[0]), cplex.prod(1, var[i]));
constraint[i] = cplex.addRange(10, r1, 10*i);
}
// IloNumExpr r2 = cplex.sum(cplex.prod(1, var[0]), cplex.prod(1, var[2]));
// IloNumExpr r3 = cplex.sum(cplex.prod(1, var[0]), cplex.prod(1, var[3]));
// IloNumExpr r4 = cplex.sum(cplex.prod(1, var[1]), cplex.prod(1, var[3]));
// constraint[1] = cplex.addRange(20, r2, 100000, "c2");
// constraint[2] = cplex.addRange(300, r3, 100000, "c3");
// constraint[3] = cplex.addRange(4000, r4, 100000, "c4"); // 变量前系数
// y = -x*x
// 计算y的最大值
int[] objvals = new int[length];
for (int i = 0; i < length; i++)
objvals[i] = 1;
cplex.addMaximize(cplex.scalProd(var, objvals));
cplex.exportModel("my.lp");
long t1 = System.currentTimeMillis();
double d1 = cplex.getCplexTime();
if (cplex.solve())
{
/*
cplex.output().println("status = " + cplex.getStatus());
cplex.output().println("sub status = " + cplex.getCplexSubStatus());
for (int i = 0; i < var.length; i++)
cplex.output().println(
"var x" + (i + 1) + " = " + cplex.getValue(var[i]));
cplex.output().println("y = " + cplex.getObjValue());
cplex.output().println("best y = " + cplex.getBestObjValue());
*/
System.out.println("best y = " + (int) cplex.getBestObjValue());
System.out.println("y = " + (int) cplex.getObjValue()); long t2 = System.currentTimeMillis();
double d2 = cplex.getCplexTime();
System.out.println("pTime = "+(t2-t1));
System.out.println("cpTime = "+(d2-d1));
}
else
{ }
t1 = System.nanoTime();
int j = 0;
double k = 1;
for(int i =0; i < Integer.MAX_VALUE;i++)
{
j=j+1*10;
}
long t2 = System.nanoTime();
System.out.println("pTime2 = "+(t2-t1));
System.out.println(j);
cplex.end();
} }

  

扯皮的cplex-感觉时间不对的更多相关文章

  1. mysql通过now()获取的时间不对

    先用now()获取系统时间,发现时间不对(差8个小时): mysql> select now(); +---------------------+ | now() | +------------ ...

  2. php 中date显示时间不对与Linux文件乱码问题

    php 中date显示时间不对解决办法如下1.修改/etc/php.ini文件 在里头中找到data.timezone =去掉它前面的分号';' 然后设置data.timezone = “Asia/S ...

  3. jwt-simple过期时间不对问题

    今天用node写后台,登录认证使用了token,然后就使用了简单的jwt-simple,但是发现设置的过期时间不对,一直没有提示过期,但是明明是已经过期了的时间,于是检查了下jwt-simple的源代 ...

  4. PHP获取系统时间不对的解决办法(转载)

    原地址:https://blog.csdn.net/u012124764/article/details/51450958 使用PHP获取系统时间,发现时间不对,是因为PHP默认的时区是UTC,应该将 ...

  5. Oracle归档日志所在目录时间不对&&Oracle集群日志时间显示错误

    Oracle归档日志所在目录时间不对&&Oracle集群日志时间显示错误 前言 这个问题在18年的时候遇到了,基本不注意并且集群或者数据库运行正常是很难注意到的. 忘记当时怎么发现的了 ...

  6. windows10和ubuntu16.04双系统下时间不对的问题 ZT

    最近装了windows10和ubuntu16.04双系统,仍然出现了喜闻乐见的老问题,装完后,在windows下时区不对,之前的老办法是: sudo gedit /etc/default/rcS ut ...

  7. windows10和ubuntu16.04双系统下时间不对的问题

    最近装了windows10和ubuntu16.04双系统,仍然出现了喜闻乐见的老问题,装完后,在windows下时区不对,之前的老办法是: sudo gedit /etc/default/rcS ut ...

  8. centos 时区正确,时间不对

    centos6.5 里面 时区是 Asia/Shanghai ,但是 时间还是不对,在网上收集了如下做法:好像恢复了~~ (主要过程是:  查看各种设置,然后设置时间,最后更新本机时间,最后保持与时间 ...

  9. php date()获取的时间不对解决办法

    因为php默认获取的是格林威治时间,与北京时间相差8小时. 我们要获取到北京时间有两个办法: 1.修改php.ini配置文件: 打开php.ini文件,一般在php配置根目录下,找到其中的 ;date ...

随机推荐

  1. PR5

    修改字幕的两种方式

  2. 如何创建一个基于 .NET Core 3 的 WPF 项目

    在 Connect(); 2018 大会上,微软发布了 .NET Core 3 Preview,以及基于 .NET Core 3 的 WPF:同时还发布了 Visual Studio 2019 预览版 ...

  3. 差分约束+spfa【模板】

    相比dij,spfa优点是可处理含负边不含负圈的最短路问题,缺点是算法复杂度不太好[貌似可以使用两种优化.LLL和SLF] 差分约束就是将一些不等式转化为图中的带权边,然后求解最短路或最长路的方法 洛 ...

  4. $data[$i++]+=2;不等于$data[$i++]=$data[$i++]+2;

    $data=array(1,2,3,4); $i=1; $data[$i++]+=2; var_dump($data); echo $i; //输出:array(1,4,3,4) 和 2 $data= ...

  5. 如何调优JVM

    堆设置 -Xmx3550m:设置JVM最大堆内存 为3550M. -Xms3550m:设置JVM初始堆内存 为3550M.此值可以设置与-Xmx相同,以避免每次垃圾回收完成后JVM重新分配内存. -X ...

  6. JavaWeb学习总结(二)-修改Tomcat服务器的端口(半年之后再总结)

    一.Tomcat服务器端口的配置 Tomcat的所有配置都放在conf文件夹之中,里面的server.xml文件是配置的核心文件(hibernate.cfg.xml是核心配置文件). 如果想修改Tom ...

  7. 黑电-逻辑地址-0X4EB9FDE3- %o %d %x

    ****************************************************************************** 编程语言通常规定是以0开头的数字是八进制数 ...

  8. asp.net 导出excel的一种方法

    项目用到的一种导出excel 的方法予以记录:(具体的业务类可更具情况替换使用) protected void Export(string filename, List<ComponentCon ...

  9. 打印数组所有排列 python

    本人.net一名,最近在看数据结构与算法分析,中间涉及的一些比较有意思的算法题,打算用python实现以下.选择python的原因,就是想熟悉一下python的语法,和pycharm基本的应用. 本篇 ...

  10. Tomcat 去除项目名称

    再tomcat的conf下server.xml  里, 再<host>...</host>的标签之间添加 <Context path="" docBa ...