带有 minizinc npm 的 node.js 上的 Minizinc - 如何在不在 CLI 中时定义解决方案选项?

问题描述

我正在使用以下 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;
}