Написать пиомо .DAT файл - PullRequest
       34

Написать пиомо .DAT файл

0 голосов
/ 10 января 2019

У меня есть файл .dat для параметров моей оптимизации:

 param: A:= 100;

 param: B:=
 1 0.5
 2 0.2
 3 0.3;

Я пытаюсь воспроизвести файл .dat, но с разными значениями A и B, мне нужно интегрировать его в код, поэтому я написал скрипт, который записывает строки в файл .dat, но когда я запускаю его в моей модели, он выдает ошибку. Я полагаю, что это как-то связано с форматом, согласно Pyomo, файл .dat должен быть в формате AMPL, но мало объяснений о том, как создать такой файл.

В настоящее время делаем это:

A = 100, B1 = '1 0.5', B2 = '2 0.2', B3 = '3 0.3'
file = open('ata.dat','w')
file.write('param: A:= '+str(A)+';\n')
file.write('param: B:=\n')
file.write(B1+'\n')
file.write(B2+'\n')
file.write(B3+';')
file.close()

Любая помощь приветствуется!

1 Ответ

0 голосов
/ 10 января 2019

В файле примера указывается индекс для каждого элемента B:

1 0,5

2 0,2

3 0,3

Но похоже, что ваш код только создает значения, а не индексы:

0,5

0,2

0,3

AMPL .dat

Как обсуждалось в в этом недавнем вопросе , когда вы указываете индексированный параметр в AMPL, вам обычно нужно явно указывать индексы; Есть несколько разных способов сделать это, но вы не можете просто позволить им подразумевать положение. Подробнее о форматах данных AMPL см. Главу 9 Книга AMPL .

...