Свести кривую или закончить пандемию c рано? : лучший способ принять решение? - PullRequest
0 голосов
/ 28 марта 2020

Я пытаюсь решить эту проблему вознаграждения / риска, которая будет зависеть от индивидуальных предпочтений. У меня две страны с двумя разными возможностями госпитализации. Они оба хотят сгладить кривую пандемии c, чтобы они не хотели насыщать свои больницы, и в то же время они хотят положить конец пандемии c рано, чтобы они могли вернуться к нормальной жизни и вернуть экономику к жизни, и население может вернуться к своей работе и полной зарплате.

Основываясь на нескольких переменных решения, я запустил многоцелевую оптимизацию и получил фронт Парето со следующими результатами, которые также показаны на графике рассеяния:

pandemicEnd = [28,35,45,53,63,82,90,95,102,105,110]  ## the time when the pandemic will end - the earlier the better
peakTime = [10,26,32,52,66,75,83,90,100,110,112] ## the time when the peak will occur -- the later the better

enter image description here

Фронт Парето порождает все хорошие «недоминируемые» решения, которым могут следовать обе страны. Мой вопрос: как лучше всего выбрать лучшее оптимальное по Парето решение из этого набора?

У меня есть дополнительная информация о том, что страна-В будет иметь меньшее экономическое влияние, чем страна-А, если пандемия c будет длиться дольше. С другой стороны, Страна-В имеет большую вместимость больницы и может быстрее справляться с пиковым временем. Предполагая, что у меня есть функция для расчета прогнозируемых подтвержденных случаев и следующего количества больниц, текущих случаев и экономического c воздействия на душу населения для каждой страны.

Я думал назначить весовые коэффициенты для каждого бита дополнительной информации, основанной на вышеупомянутых знаниях, но мне интересно, есть ли способ, который может принять более обоснованное решение о выборе лучшего решения и может быть общим для третья страна или четвертая страна, если у них есть данные.

def confirmedCases_project(currentConfirmedCases, numberOfDays):
    c = np.zeros(numberOfDays)
    for day in range(numberOfDays):
        confirmedCasesFunction = currentConfirmedCases * math.exp(0.05*day) 
        c[day] = confirmedCasesFunction
    return c

## Country 1: 
population_1 = 50000000 ## citizens 
economicImpact_PerCapita_1 = 10000 ## $MM economic loss for each confirmed case 
current_Confirmed_Cases_1 = 3000 ## patients
numberOfCurrentHospitals = 389
costToBuildTempHopsital = 500000 ## $MM - The cost to build temporary hospital 

## Country 2: 
population = 2000000000 ## citizens 
economicImpact = 40000 ## $MM economic loss for each confirmed case 
current_Confirmed_Cases_2 = 6000 ## $MM economic loss for each confirmed case 
numberOfCurrentHospitals = 790
costToBuildTempHopsital = 500000 ## $MM - The cost to build temporary hospital 
...