带你了解两种线性规划的方法:稀疏矩阵存储和预处理
摘要:本文为大家带来线性规划的稀疏矩阵存储和数据预处理。 本文分享自华为云社区《线性规划--稀疏矩阵》,原文作者:Bale10 。 随着AI时代的发展,线性规划问题的规模越来越大是一种必然。面对大规模的线性规划问题,如何存储数据,使得存储空间节省以避免资源的浪费,并且使得数据的查询、修改和增删方便快捷,是一个急需解决的问题。本文为大家带来线性规划的稀疏矩阵存储和数据预处理。 稀疏矩阵 LP的规模通常是由约束矩阵A的规模决定的,矩阵的元素通常用8个字节的double型储存,假设矩阵有m行,n列,则直接储存A需要8mn字节。如果A有10000行,20000列(不是特别大规模的),那么需要1.6G内存储存A,一方面内存要求高,另一方面对矩阵A的操作困难。大规模LP通常含有大量的零元,非零元占比非常小,这个性质称为稀疏性,即A为稀疏矩阵。 稀疏矩阵储存 稀疏矩阵的数据结构设计应该考虑下面三个因素: 仅存非零元,一个好的稀疏矩阵数据结构应该仅存A的非零元,而不存大量的零元。这样做的优点有三。首先,节省内存,使得大型稀疏矩阵能存在内存中。其次,若仅存非零元内存也放不下,则必须借助于外存,而从外存存...







