SCIP какая функция для знака? - PullRequest
0 голосов
/ 28 октября 2018

Я новичок в SCIP и прочитал некоторые примеры проблем и документации, но все еще не уверен, как сформулировать следующую проблему для решателя SCIP:

argmax(w) sum(sign(Aw) == sign(b))

где A - матрица nxm, w - вектор mx1 и b - вектор nx1.Тип данных - числа с плавающей запятой / действительные числа, и это проблема без ограничений.

Значения A и b также содержатся по строкам в файле .txt.Как я могу импортировать это?

В целом - Я новичок в SCIP и не знаю, как начать создавать переменные (особенно параметр значения целевой функции), импортировать данные, формулировать целевую функцию... Мне немного сложно задать этот вопрос, но ваша помощь приветствуется!

1 Ответ

0 голосов
/ 29 октября 2018

Это должно работать:

enter image description here

, где beta(i) = sign(b(i)).Импликация может быть реализована с использованием индикаторных ограничений.Таким образом, нам не нужны большие М.

Скорее всего, ограничение >= 0 должно быть >= 0.0001 (в противном случае мы можем установить все w(j)=0).

...