Чи є в програмуванні обмежень якісь моделі, що враховують кількість змінних змін?


10

Розглянемо модель CSP, де зміна значення певної змінної є дорогою. Чи є якась робота, де цільова функція також враховує кількість змін значення змінної під час процесу пошуку?

Приклад: змінна, що дорого змінюється, може контролюватися деяким іншим агентом, і для зміни змінної може бути деяке накладне залучення цього агента. Інший приклад: змінна бере участь в одному з обмежень, і задоволення цього обмеження передбачає виклик дорогої функції (наприклад, тренажера), наприклад, є обмеженням, а - дорого- функція обчислення. Тому і це дорогоцінні для зміни змінні.z=f(x,y)fxy


1
Цільова функція говорить про кінцеві значення CSP і не знає про процес пошуку. Так, у стандартних рецептурах зміни таких змінних не піддаються моделі CSP. Деякі вирішувачі, наприклад, Choco, надають евристику для керівництва процесом пошуку. Деякі з них можуть бути навіть визначені користувачем. Можливо, саме тут можна змінити спосіб пошуку.
Дейв Кларк

1
Але чому б об'єктивна функція відображала, наскільки дорого було придумати рішення? Чи не слід порівнювати рішення за тим, наскільки вони корисні в проблемній області після цього? Або це час вирішення проблеми реальної проблеми?
Рафаель

1
Це здається, що ви перебуваєте в налаштуваннях розподіленого задоволення обмеженнями, і це здається, що ви шукаєте евристику.
Дейв Кларк

Відповіді:


4

Це здається, що ви хочете використовувати оптимізаційну техніку оптимізації витрат (з урахуванням витрат, бюджету) . Мінімізація двох значень (наприклад, рішення вашої мети та вартість операцій на та ) є багатокритеріальною оптимізацією , і їх, як правило, вирішити дуже важко. Поширений підхід полягає у визначенні бюджету для максимально допустимих витрат, а потім мінімізації цільової функції стосовно . Така формулювання, як правило, добре вписується в існуючі рамки як додаткове обмеження. Звичайно, конкретизувати функцію витрат та допустимий бюджет таким чином, щоб отримати змістовні рішення, може бути важко - це буде залежати від конкретної проблеми, яку ви намагаєтеся вирішити.xycosts(x,y)Budget

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.