public static int GetFrequency(ITashaPerson person, Activity activity, Random random, int maxFrequency, Time startTime, Time endTime, int householdPD, int workPD, GenerationAdjustment[] generationAdjustments) { bool feasibleFreq = false; int freq = 0; while (!feasibleFreq) { freq = Distribution.GetRandomFrequencyValue( 0, maxFrequency, random, Distribution.GetDistributionID(person, activity), householdPD, workPD, generationAdjustments); if (freq == 0) { break; } if (!Distribution.GetRandomStartTimeFrequency( Distribution.GetDistributionID(person, activity), freq, Distribution.TimeOfDayToDistribution(startTime), Distribution.TimeOfDayToDistribution(endTime), random, out Time duration)) { //a bad thing happens here } else if (duration != Time.Zero) { feasibleFreq = true; } } return(freq); }
public static int GetFrequency(ITashaHousehold household, Activity activity, Random random, int maxFreq, int householdPD, int workPD, GenerationAdjustment[] generationAdjustments) { bool feasibleFreq = false; int freq = maxFreq; while (!feasibleFreq) { freq = Distribution.GetRandomFrequencyValue( 0, Distribution.NumberOfFrequencies - 1, random, Distribution.GetDistributionID(household, activity), householdPD, workPD, generationAdjustments); if (freq == 0) { feasibleFreq = true; } if (!Distribution.GetRandomStartTimeFrequency( Distribution.GetDistributionID(household, activity), freq, 0, Scheduler.StartTimeQuanta - 1, random, out Time startTime)) { // a bad thing happens here } else if (startTime != Time.StartOfDay) { feasibleFreq = true; } } return(freq); }
public static int GetFrequency(ITashaPerson person, Activity activity, Random random, int maxFrequency, int householdPD, int workPD, GenerationAdjustment[] generationAdjustments) { int freq = 0; freq = Distribution.GetRandomFrequencyValue( 0, maxFrequency, random, Distribution.GetDistributionID(person, activity), householdPD, workPD, generationAdjustments); return(freq); }
public static int GetFrequency(ITashaPerson person, Activity activity, Random random, int householdPD, int workPD, GenerationAdjustment[] generationAdjustments) { int freq; var distID = Distribution.GetDistributionID(person, activity); if (distID < 0) { throw new XTMFRuntimeException(null, "We were unable to get the distribution ID number for a person doing a '" + activity + "' episode The person's householdID was " + person.Household.HouseholdId + ", personID was " + person.Id + ", was " + person.Age + " years old, with employment status '" + person.EmploymentStatus + "' occupation '" + person.Occupation + "' Student Status '" + person.StudentStatus + "'. Their work zone is '" + (person.EmploymentZone != null ? person.EmploymentZone.ZoneNumber.ToString() : "None") + "' and their school zone is '" + (person.SchoolZone != null ? person.SchoolZone.ZoneNumber.ToString() : "None") + "'."); } freq = Distribution.GetRandomFrequencyValue( 0, Distribution.NumberOfFrequencies - 1, random, distID, householdPD, workPD, generationAdjustments); return(freq); }
internal static bool GenerateWorkAtHomesActivity(ITashaPerson person, Random random, int householdPD, GenerationAdjustment[] generationAdjustments) { return(Distribution.GetRandomFrequencyValue(0, 1, random, Distribution.GetDistributionID(person, Activity.WorkAtHomeBusiness), householdPD, householdPD, generationAdjustments) > 0); }
internal static bool GenerateSecondaryWorkTrip(ITashaPerson person, Random random, int householdPD, int workPD, GenerationAdjustment[] generationAdjustments) { return(Distribution.GetRandomFrequencyValue(0, 1, random, Distribution.GetDistributionID(person, Activity.SecondaryWork), householdPD, workPD, generationAdjustments) > 0); }
internal static bool GenerateIndividualOtherActivity(ITashaPerson person, Random random, int householdPD, int workPD, GenerationAdjustment[] generationAdjustments) { return(Distribution.GetRandomFrequencyValue(0, 1, random, Distribution.GetDistributionID(person, Activity.IndividualOther), householdPD, workPD, generationAdjustments) > 0); }