public void AddNewHouse(HousingAssociation association, double monthlyRent, double maximumAllowedMonthlyRent, double monthlyMaintenanceExpenses, double marketValue, double mutationProbability, int lifeSpan, double sustainability) { var newHouse = new House(GetNewNumber(), association, monthlyRent, maximumAllowedMonthlyRent, monthlyMaintenanceExpenses, marketValue, mutationProbability, lifeSpan, sustainability); Houses.Add(newHouse); }
private void GatherData(HousingAssociation association, int scenario, int t) { _results[OutputType.SolvencyRatio][t][scenario] = association.SolvencyRatio; _results[OutputType.Houses][t][scenario] = association.RealEstatePortfolio.NumberOfHouses; _results[OutputType.Rent][t][scenario] = association.AverageRent; _results[OutputType.Sustainability][t][scenario] = association.AverageSustainabilityOfHouses; _results[OutputType.Maintenance][t][scenario] = association.AverageMaintenanceExpenses; _results[OutputType.Debt][t][scenario] = association.Debt; _results[OutputType.Interest][t][scenario] = association.Interest; _results[OutputType.Scores][t][scenario] = association.Score; _results[OutputType.NumberOfHousesScore][t][scenario] = association.ScoreNumberOfHouses; _results[OutputType.RentScores][t][scenario] = association.ScoreRent; _results[OutputType.SustainabilityScores][t][scenario] = association.ScoreSustainability; _results[OutputType.NumberOfCheapHouses][t][scenario] = association.RealEstatePortfolio.Houses.Count(w => w.MonthlyRent / association.CumulativeInflation < HousingAssociation.LowRent); _results[OutputType.NumberOfBadHouses][t][scenario] = association.RealEstatePortfolio.Houses.Count(w => w.Sustainability < HousingAssociation.Sufficient); _results[OutputType.NumberOfBankruptcies][t][0] += association.IsBankrupt ? 1 : 0; }
public Dictionary <OutputType, double[][]> Run() { Console.Write(@"Simulating scenario "); for (var scenario = 0; scenario < NumberOfScenarios; scenario++) { Console.Write($@"{scenario + 1}"); Console.SetCursorPosition(20, 1); Economy.Read(scenario); var association = new HousingAssociation(0); GatherData(association, scenario, 0); for (var t = 0; t <= Horizon; t++) { Economy.CurrentYear = t; association.EndOfYear(); GatherData(association, scenario, t + 1); } } return(_results); }