问题描述
我正在使用以下 npm 包 https://www.npmjs.com/package/minizinc,但文档没有说明如何输入 cli 字符串/选项,其中 model
可能会改变功能,而不是只返回默认的第一个解决方案.
如果您要努力创建一个 npm 包,为什么要停止在如何实际使用它的说明中付出 0 努力呢?我不明白。
m.solve(model).then((result) => {
console.log(result);
});
model
字符串实际上只是模型,还是可以带其他参数?也许 Minizinc 手册或教程没有明确说明模型本身可以说明涵盖 Windows IDE 提供的功能的选项,例如说明在停止之前要显示多少个解决方案?
谢谢!
解决方法
MiniZinc 的 node 包可能没有达到应有的水平,但它确实提供了一些文档。
solve
的参数可以包含参数以及仅模型实例:
solve(paramsOrCode: string | IModelParams,data?: IDataObject | string,options?: Partial<IMiniZincSolveOptions>): Promise<IResult>;
您似乎想要使用 IModelParams 变体,它可以包含您正在搜索的解决方案数量的选项:
export interface IModelParams {
model: string;
solver?: string;
random_seed?: number;
all_solutions?: boolean;
free_search?: boolean;
processes?: number;
nr_solutions?: number;
}