我问题的一部分是最小化某些数字的加权和的绝对值。我必须找到重量。
假设我有一组A,a1,a2,a3和a4,使得(a1,a2 > 0),(a3,a4 < 0)
最小重量为0.1 (10%),最大为0.4 (40%)。我在寻找权重w,其方式是加权和为零;如果不可能为零,则最接近于零。可以使用一个简单的线性模型来实现这一点:
Minimise E
E >= SUM w * a
E >= -(SUM w * a)
SUM w = 1
w >= 0.1 for all w
w <= 0.4 for all w
一个简单的线性规划就足以很快地找到解。但是,我非常想找到
给出了一个有向图G= ( v,E),其中每个边(u,v)∈E有一个相关联的值r(u,v),它是0≤r(u,v)≤1范围内的实数,表示从顶点u到顶点v的通信通道的可靠性,我们将r(u,v)解释为从u到u的通道不会失败的概率,我们假设这些概率是独立的。给出了在两个给定顶点之间寻找最可靠路径的有效算法。
a
/ \
b<--c a directed to c; c directed to b; b directed to a
假设这是图G= (V,E);顶点a是根,其中一个边是a to c,a=u&c=v,所以边是(u,v)。我想用Dijkst
我需要使用谷歌的优化工具为员工制定计划。其中一个制约因素是,每个雇员的工作时间大致相同。
因此,我希望将每个员工的工作时数汇总到一个列表中,然后将该列表的标准差降到最低。
var workingTimes = new List<SumArray>();
foreach (var employee in employees) {
// Gather the duration of each task the employee is
// assigned to in a list
// o.IsAssign is an IntVar and task.Dura
我希望有人解释不同的方法来解决一个简单的问题,然后我将尝试并在PHP中实现它为更广泛的应用程序。
我有五个人在选择谁得到哪个房间,有五个房间,大的,大的,中的,中的和小的。
Person 1 orders the rooms Grand, Large
Person 2 orders the rooms Large, Medium
Person 3 orders the rooms Large, Small
Person 4 orders the room Medium
Person 5 orders the rooms Large, Medium
失踪的房间是他们不感兴趣的房间。
选择谁住每个
广度优先搜索和深度优先搜索是两个相同的算法,除了它们所做的事情,以及它们使用的数据结构。
广度优先搜索:
q := queue
q.append(root node of tree)
while q is not empty:
n := q.pop()
if n is the node being searched for:
return n
if n has children:
c := children of node
for i in c:
q.push(i)
深度优先搜索:
s := sta