Package org.drools.planner.examples.tsp.domain

Examples of org.drools.planner.examples.tsp.domain.City


            readConstantLine("NODE_COORD_SECTION");
            List<City> cityList = new ArrayList<City>(cityListSize);
            for (int i = 0; i < cityListSize; i++) {
                String line = bufferedReader.readLine();
                String[] lineTokens = splitBySpace(line, 3, 4);
                City city = new City();
                city.setId(Long.parseLong(lineTokens[0]));
                city.setLatitude(Double.parseDouble(lineTokens[1]));
                city.setLongitude(Double.parseDouble(lineTokens[2]));
                if (lineTokens.length >= 4) {
                    city.setName(lineTokens[3]);
                }
                cityList.add(city);
            }
            travelingSalesmanTour.setCityList(cityList);
        }
View Full Code Here


            g.fillRect(x - 1, y - 1, 3, 3);
        }
        g.setColor(Color.BLACK);
        if (travelingSalesmanTour.isInitialized()) {
            for (CityAssignment cityAssignment : travelingSalesmanTour.getCityAssignmentList()) {
                City city = cityAssignment.getCity();
                int x1 = translateCoordinate(srcMinimumX, srcWidth, width, city.getX());
                int y1 = translateCoordinate(srcMinimumY, srcHeight, height, city.getY());
                City nextCity = cityAssignment.getNextCityAssignment().getCity();
                int x2 = translateCoordinate(srcMinimumX, srcWidth, width, nextCity.getX());
                int y2 = translateCoordinate(srcMinimumY, srcHeight, height, nextCity.getY());
                g.drawLine(x1, y1, x2, y2);
            }
        }
        repaint();
    }
View Full Code Here

        initializeCityAssignmentList(abstractSolverScope, travelingSalesmanTour);
    }

    private void initializeCityAssignmentList(AbstractSolverScope abstractSolverScope,
            TravelingSalesmanTour travelingSalesmanTour) {
        City startCity = travelingSalesmanTour.getStartCity();
        WorkingMemory workingMemory = abstractSolverScope.getWorkingMemory();

        List<CityAssignment> cityAssignmentList = createCityAssignmentList(travelingSalesmanTour);
        List<CityAssignment> assignedCityAssignmentList = null;
        for (CityAssignment cityAssignment : cityAssignmentList) {
View Full Code Here

            readConstantLine("NODE_COORD_SECTION");
            List<City> cityList = new ArrayList<City>(cityListSize);
            for (int i = 0; i < cityListSize; i++) {
                String line = bufferedReader.readLine();
                String[] lineTokens = splitBySpace(line, 3);
                City city = new City();
                city.setId(Long.parseLong(lineTokens[0]));
                city.setX(Double.parseDouble(lineTokens[1]));
                city.setY(Double.parseDouble(lineTokens[2]));
                cityList.add(city);
            }
            travelingSalesmanTour.setCityList(cityList);
            travelingSalesmanTour.setStartCity(cityList.get(0));
        }
View Full Code Here

    public SolverAndPersistenceFrame getWorkflowFrame() {
        return solverAndPersistenceFrame;
    }

    public void insertCityAndVisit(double longitude, double latitude) {
        final City newCity = new City();
        newCity.setId(nextCityId);
        nextCityId++;
        newCity.setLongitude(longitude);
        newCity.setLatitude(latitude);
        logger.info("Scheduling insertion of newCity ({}).", newCity);
        solutionBusiness.doProblemFactChange(new ProblemFactChange() {
            public void doChange(ScoreDirector scoreDirector) {
                TravelingSalesmanTour solution = (TravelingSalesmanTour) scoreDirector.getWorkingSolution();
                scoreDirector.beforeProblemFactAdded(newCity);
                solution.getCityList().add(newCity);
                scoreDirector.afterProblemFactAdded(newCity);
                Visit newVisit = new Visit();
                newVisit.setId(newCity.getId());
                newVisit.setCity(newCity);
                scoreDirector.beforeEntityAdded(newVisit);
                solution.getVisitList().add(newVisit);
                scoreDirector.afterEntityAdded(newVisit);
            }
View Full Code Here

            g.drawImage(europaBackground.getImage(), 0, 0, translator.getImageWidth(), translator.getImageHeight(), this);
        }
        g.setFont(g.getFont().deriveFont((float) TEXT_SIZE));
        g.setColor(TangoColors.PLUM_2);
        for (Visit visit : travelingSalesmanTour.getVisitList()) {
            City city = visit.getCity();
            int x = translator.translateLongitudeToX(city.getLongitude());
            int y = translator.translateLatitudeToY(city.getLatitude());
            g.fillRect(x - 1, y - 1, 3, 3);
            if (city.getName() != null) {
                g.drawString(city.getName(), x + 3, y - 3);
            }
        }
        g.setColor(TangoColors.ALUMINIUM_4);
        for (Domicile domicile : travelingSalesmanTour.getDomicileList()) {
            City city = domicile.getCity();
            int x = translator.translateLongitudeToX(city.getLongitude());
            int y = translator.translateLatitudeToY(city.getLatitude());
            g.fillRect(x - 2, y - 2, 5, 5);
            if (city.getName() != null) {
                g.drawString(city.getName(), x + 3, y - 3);
            }
        }
        g.setColor(TangoColors.CHOCOLATE_1);
        for (Visit visit : travelingSalesmanTour.getVisitList()) {
            if (visit.getPreviousAppearance() != null) {
                City previousCity = visit.getPreviousAppearance().getCity();
                int previousX = translator.translateLongitudeToX(previousCity.getLongitude());
                int previousY = translator.translateLatitudeToY(previousCity.getLatitude());
                City city = visit.getCity();
                int x = translator.translateLongitudeToX(city.getLongitude());
                int y = translator.translateLatitudeToY(city.getLatitude());
                g.drawLine(previousX, previousY, x, y);
                // Back to domicile line
                boolean needsBackToDomicileLineDraw = true;
                for (Visit trailingVisit : travelingSalesmanTour.getVisitList()) {
                    if (trailingVisit.getPreviousAppearance() == visit) {
                        needsBackToDomicileLineDraw = false;
                        break;
                    }
                }
                if (needsBackToDomicileLineDraw) {
                    // TODO support more than 1 domicile
                    Domicile domicile = travelingSalesmanTour.getDomicileList().get(0);
                    City domicileCity = domicile.getCity();
                    int domicileX = translator.translateLongitudeToX(domicileCity.getLongitude());
                    int domicileY = translator.translateLatitudeToY(domicileCity.getLatitude());
                    g.drawLine(x, y,domicileX, domicileY);
                }
            }
        }
        // Legend
View Full Code Here

            readConstantLine("NODE_COORD_SECTION");
            List<City> cityList = new ArrayList<City>(cityListSize);
            for (int i = 0; i < cityListSize; i++) {
                String line = bufferedReader.readLine();
                String[] lineTokens = splitBySpace(line, 3, 4);
                City city = new City();
                city.setId(Long.parseLong(lineTokens[0]));
                city.setLatitude(Double.parseDouble(lineTokens[1]));
                city.setLongitude(Double.parseDouble(lineTokens[2]));
                if (lineTokens.length >= 4) {
                    city.setName(lineTokens[3]);
                }
                cityList.add(city);
            }
            travelingSalesmanTour.setCityList(cityList);
        }
View Full Code Here

TOP

Related Classes of org.drools.planner.examples.tsp.domain.City

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.