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. android中传统的创建数据库

    1.在Android工程中建立一个class类,且继承与SQLiteOpenHelper. 2.然后到Mainactivity中去new一个MyOpenHelper来找到它 3.第一次创建数据库的时候 ...

  2. 设置ip地址、掩码、网关、DNS

    @echo offcolor f8mode con cols=40 lines=8echo.echo.echo      设置IP为:echo.set /p ip=              192. ...

  3. POJ 3311 Hie with the Pie 先用floyd预处理,再状态压缩

    下面是别人的解题报告链接: http://blog.csdn.net/accry/article/details/6607703 下面是我的代码,我觉得链接中的代码有一点小问题,也许是我想错了吧. # ...

  4. java1.8操作日期

    java1.8获取年份: int year = Calendar.getInstance().get(Calendar.YEAR); StringBuilder code = new StringBu ...

  5. js 时间操作积累

    console.log( new Date() ); //Tue Mar 20 2018 22:47:01 GMT+0800 (中国标准时间) // var date = new Date( '201 ...

  6. 将一个list转成json数组-晚上坐49路回去打卡

  7. Linux引导启动顺序

    1.所有的__init函数在区段.initcall.init中还保存了一份函数指针,在初始化时内核会通过这些函数指针调用这些__init函数,并在整个初始化完成后,释放整个init区段(包括.init ...

  8. PostgREST docker-compose 试用

    PostgREST 是一款很不错的直接将pg 数据库暴露为restapi ,使用了基于行级别安全访问控制, 比较全的restapi 查询以及集成了swagger openapi docker-comp ...

  9. search bar 创建的一些文章

    1.   http://blog.csdn.net/oscarxie/article/details/1434608 2.   http://blog.csdn.net/oscarxie/articl ...

  10. 怎样在两小时内搞定 OpenStack 部署?(转)

    怎样在两小时内搞定 OpenStack 部署? OpenStack的安装是一个难题,组件众多,非常麻烦.如果手工部署OpenStack,可能需要好几天,使用RDO,就是几个命令,再加一两个小时的等待. ...