Шго Сципи игнорирует ограничениеPython

Программы на Python
Ответить
Anonymous
 Шго Сципи игнорирует ограничение

Сообщение Anonymous »

Когда я запускаю следующий код

Код: Выделить всё

from scipy import optimize
from math import log

bounds = ((0, 1), (0, 1), (0, 1), (0, 1))

def finite_resources(x):
return x[0] + x[2] - 1

cons = ({'type': 'eq', 'fun': finite_resources})

def global_satisfaction(x):
return -(log(1+x[0])/(1+x[1]*10000) + log(1+x[2])/(1+x[3]*10000))

results = dict()
print(optimize.shgo(global_satisfaction, bounds, constraints=cons))
Я понимаю

Код: Выделить всё

 message: Optimization terminated successfully.
success: True
fun: -1.3862943611198906
funl: [-1.386e+00]
x: [ 1.000e+00  0.000e+00  1.000e+00  0.000e+00]
xl: [[ 1.000e+00  0.000e+00  1.000e+00  0.000e+00]]
nit: 1
nfev: 18
nlfev: 5
nljev: 1
nlhev: 0
Как получается, что ограничение x[0]+x[2]-1=0 не соблюдается в возвращаемом четверке?
Я не решаюсь сообщить о проблеме на Github scipy.

Подробнее здесь: https://stackoverflow.com/questions/792 ... constraint
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»