Optimization linprog优化失败。无法找到可行的起点

Optimization linprog优化失败。无法找到可行的起点,optimization,scipy,Optimization,Scipy,它显示如下: import numpy as np from scipy.optimize import linprog c.shape, c.dtype, c.sort(), c ((108,), 数据类型('int64'), 没有一个 阵列([380933810038101381033810538108381103811438116, 38116, 38117, 38118, 38118, 38119, 38120, 38124, 38127, 38129, 38131, 38132, 3

它显示如下:

import numpy as np
from scipy.optimize import linprog
c.shape, c.dtype, c.sort(), c
((108,),
数据类型('int64'),
没有一个
阵列([380933810038101381033810538108381103811438116,
38116, 38117, 38118, 38118, 38119, 38120, 38124, 38127, 38129,
38131, 38132, 38133, 38135, 38141, 38141, 38142, 38145, 38146,
38147, 38148, 38149, 38149, 38149, 38150, 38150, 38151, 38151,
38152, 38152, 38153, 38154, 38156, 38157, 38157, 38160, 38163,
38163, 38166, 38167, 38167, 38168, 38168, 38169, 38169, 38169,
38170, 38172, 38174, 38175, 38177, 38178, 38178, 38178, 38178,
38180, 38180, 38182, 38182, 38183, 38183, 38184, 38184, 38185,
38188, 38188, 38189, 38191, 38192, 38192, 38193, 38195, 38196,
38197, 38197, 38197, 38202, 38203, 38204, 38204, 38204, 38205,
38206, 38209, 38211, 38211, 38213, 38214, 38216, 38218, 38218,
38224, 38225, 38227, 38229, 38230, 38234, 38236, 38240, 38242]))
A_ub=np.array([c,-c])
b_ub=[np.ceil(np.mean(c)*6),-np.floor(np.mean(c)*6)]
A_eq=np.数组([np.像(c)])
b_eq=6
res=linprog(c=c,A_-ub=A_-ub,b_-ub=b_-ub,A_-eq=A_-eq,b_-eq=b_-eq,bounds=[0,1],method='simplex',options={“disp”:True})
它显示如下:

import numpy as np
from scipy.optimize import linprog
c.shape, c.dtype, c.sort(), c
谢谢你运行这个并帮助我

代码怎么了

我已将linprog的方法更改为“内部点”,然后它显示:

res=linprog(c=c,A_-ub=A_-ub,b_-ub=b_-ub,A_-eq=A_-eq,b_-eq=b_-eq,bounds=[0,1],method='interior-point',options={“disp”:True})
打印(res)
con:array([-1.97238315e-09])
乐趣:229016.000075321
消息:“优化已成功终止。”
nit:4
松弛:阵列([9.99924679e-01,7.53210043e-05])
状态:0
成功:真的
x:阵列([0.05594776,0.05591185,0.05590681,0.05589631,0.05588602,
0.05587049, 0.05586021, 0.05583966, 0.05582939, 0.05582939,
0.05582415, 0.05581912, 0.05581912, 0.05581366, 0.05580886,
0.05578811, 0.05577283, 0.05576257, 0.05575232, 0.05574708,
0.05574185, 0.0557316 , 0.05570086, 0.05570086, 0.05569585,
0.05568016, 0.05567537, 0.05567014, 0.05566492, 0.05565969,
0.05565969, 0.05565969, 0.05565468, 0.05565468, 0.05564968,
0.05564968, 0.05564445, 0.05564445, 0.05563945, 0.05563422,
0.055624  , 0.05561899, 0.05561899, 0.05560333, 0.05558811,
0.05558811, 0.05557267, 0.05556768, 0.05556768, 0.05556268,
0.05556268, 0.05555746, 0.05555746, 0.05555746, 0.05555225,
0.05554226, 0.05553183, 0.05552662, 0.05551664, 0.05551143,
0.05551143, 0.05551143, 0.05551143, 0.05550122, 0.05550122,
0.05549103, 0.05549103, 0.05548604, 0.05548604, 0.05548083,
0.05548083, 0.05547562, 0.05546044, 0.05546044, 0.05545524,
0.05544527, 0.05544007, 0.05544007, 0.05543486, 0.05542468,
0.05541992, 0.0554145 , 0.0554145 , 0.0554145 , 0.05538916,
0.05538396, 0.05537899, 0.05537899, 0.05537899, 0.05537357,
0.05536882, 0.05535345, 0.0553435 , 0.0553435 , 0.05533312,
0.05532793, 0.05531799, 0.0553076 , 0.0553076 , 0.05527736,
0.05527195, 0.05526202, 0.05525165, 0.05524669, 0.0552264 ,
0.05521626, 0.05519599, 0.05518585])

但结果不是我需要的。我只希望x数组为1或0。

cvxopt解决了我的问题。而且很快