Skip to content

Commit 8a2b93d

Browse files
authored
Merge pull request #231 from msmobility/nkuehnel_branch
occupation times to mito in minutes
2 parents ee93b5c + 3ed579a commit 8a2b93d

2 files changed

Lines changed: 16 additions & 4 deletions

File tree

siloCore/src/main/java/de/tum/bgu/msm/models/realEstate/construction/ConstructionModelImpl.java

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ public class ConstructionModelImpl extends AbstractModel implements Construction
3939
private int currentYear = -1;
4040

4141

42+
4243
private float betaForZoneChoice;
4344
private float priceIncreaseForNewDwelling;
4445

@@ -110,6 +111,8 @@ public Collection<ConstructionEvent> getEventsForCurrentYear(int year) {
110111
}
111112

112113
DwellingType[] sortedDwellingTypes = findOrderOfDwellingTypes(dataContainer);
114+
int unrealizedDemandCounter = 0;
115+
113116
for (DwellingType dt : sortedDwellingTypes) {
114117
int dto = dwellingTypes.indexOf(dt);
115118
for (int region : geoData.getRegions().keySet()) {
@@ -150,11 +153,18 @@ public Collection<ConstructionEvent> getEventsForCurrentYear(int year) {
150153
for (int i = 1; i <= unrealizedDwellings; i++) {
151154
int zone = allocateUnrealizedDemandInDifferentRegion(realEstate, dt, dto,
152155
avePriceByTypeAndZone, avePriceByTypeAndRegion, utilitiesByDwellingTypeByZone);
153-
events.add(createNewDwelling(realEstate, aveSizeByTypeAndRegion, avePriceByTypeAndZone,
154-
avePriceByTypeAndRegion, dt, dto, region, zone));
156+
157+
if(zone > -1) {
158+
events.add(createNewDwelling(realEstate, aveSizeByTypeAndRegion, avePriceByTypeAndZone,
159+
avePriceByTypeAndRegion, dt, dto, region, zone));
160+
} else {
161+
unrealizedDemandCounter++;
162+
}
155163
}
156164
}
157165
}
166+
logger.warn("There have been " + unrealizedDemandCounter + " dwellings that could not be built " +
167+
"due to lack of developable land.");
158168
return events;
159169
}
160170

useCases/munich/src/main/java/de/tum/bgu/msm/data/mito/MitoDataConverterMuc.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,8 @@ private void convertSchools(DataSet dataSet, DataContainer dataContainer) {
5656
coordinate = zone.getRandomCoord();
5757
}
5858
MitoSchool mitoSchool = new MitoSchool(zones.get(school.getZoneId()), coordinate, school.getId());
59+
mitoSchool.setStartTime_min((int) (school.getStartTimeInSeconds() / 60.));
60+
mitoSchool.setEndTime_min((int) ((school.getStartTimeInSeconds() + school.getStudyTimeInSeconds()) / 60.));
5961
zone.addSchoolEnrollment(school.getOccupancy());
6062
dataSet.addSchool(mitoSchool);
6163
}
@@ -127,8 +129,8 @@ private MitoPerson convertToMitoPp(PersonMuc person, DataSet dataSet, DataContai
127129
coordinate = zone.getRandomCoord();
128130
}
129131
mitoOccupation = new MitoJob(zone, coordinate, job.getId());
130-
mitoOccupation.setStartTime(job.getStartTimeInSeconds());
131-
mitoOccupation.setEndTime(job.getStartTimeInSeconds() + job.getWorkingTimeInSeconds());
132+
mitoOccupation.setStartTime_min((int) (job.getStartTimeInSeconds() / 60.));
133+
mitoOccupation.setEndTime_min((int) ((job.getStartTimeInSeconds() + job.getWorkingTimeInSeconds()) / 60.));
132134
}
133135
break;
134136
case UNEMPLOYED:

0 commit comments

Comments
 (0)