Package net.sf.cpsolver.ifs.util

Examples of net.sf.cpsolver.ifs.util.DataProperties


        logger.info("Total number of " + model.variables().size() + " activities generated.");
        return model;
    }

    public void start() throws InterruptedException {
        DataProperties properties = new DataProperties();
        properties.setProperty("General.Seed", "123321");
        UniTimeSimpleModel model = createModel();
        Solver solver = new Solver(properties);
        condition.init();
        solver.setTerminalCondition(new TerminationCondition() {

            @Override
            public boolean canContinue(Solution sltn) {
                return condition.canContinue() && !statusBar.getMyProgressMonitor().isCanceled();
            }
        });
        Progress p = new Progress();
        p.addProgressListener(new ProgressListener() {

            private String status;

            @Override
            public void statusChanged(String status) {
                this.status = status;
            }

            @Override
            public void phaseChanged(String phase) {
            }

            @Override
            public void progressChanged(long currentProgress, long maxProgress) {
                statusBar.setMessage(status + " " + currentProgress * 100f / maxProgress);
            }

            @Override
            public void progressSaved() {
            }

            @Override
            public void progressRestored() {
            }

            @Override
            public void progressMessagePrinted(Message message) {
                statusBar.setMessage(message.getMessage());
            }
        });
        solver.setProgress(p);
        solver.setInitalSolution(model);
        solver.start();
        solver.getSolverThread().join();

        if (solver.lastSolution().getBestInfo() == null)
            logger.severe("No solution found :-(");

        logger.info("Last solution:" + solver.lastSolution().getInfo());
        logger.info("Best solution:" + solver.lastSolution().getBestInfo());
        Solution best = solver.lastSolution();
        best.restoreBest();
        int value = 0;
        for (Enumeration iv = best.getModel().assignedVariables().elements(); iv.hasMoreElements();) {
            value += (int) ((Variable) iv.nextElement()).getAssignment().toDouble();
        }

        logger.info("Last solution:" + best.getInfo());
        logger.info(doubleFormat.format(properties.getPropertyDouble("Generator.FillFactor", 0.0)) + ";"
                + doubleFormat.format(properties.getPropertyInt("Generator.NrRooms", 0)) + ";");
        logger.info(doubleFormat.format(best.getTime()) + ";" + best.getIteration() + ";"
                + doubleFormat.format(((double) best.getIteration()) / best.getTime()) + ";");
        logger.info(best.getModel().assignedVariables().size() + ";"
                + doubleFormat.format(100.0 * best.getModel().assignedVariables().size()
                / best.getModel().variables().size()) + ";" + value);
View Full Code Here

TOP

Related Classes of net.sf.cpsolver.ifs.util.DataProperties

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.