MiniZinc学习笔记

最近在Coursera上学了 离散优化建模,里面介绍了MiniZinc这个建模语言,个人觉得比较新奇

基本语法

  • MiniZinc 语句顺序不重要

    • 你可以先定义变量再写表达式,这不是一个需要编译或者逐句解释得语言
    • 写的程序主要是为了给后端得求解器描述问题
  • 关于变量

    • MiniZinc变量类型主要分为两大类
      • 参数
      • 决策变量

其中参数类似于其他语言中的常量,只能在程序开始的时候被赋值而且只能被赋值一次

决策变量相当于其他语言中普通的可变变量

变量声明

可以看到,MiniZinc对于变量声明方式也是比较特殊的,形式为变量类型描述:变量名称

当然,这两个分类只是从变量是不是常量的角度划分的

MiniZinc像其他语言一样,支持整数、浮点,数组、字符串、枚举、集合等类型

比如生成一个大小为10的int类型数组

  • 1…10代表范围1~10
  • 数组统一用array[]表示,方括号里边写数组包含的下标,图里的数组可以访问的下标范围是1~10
  • 数组的下标可以是任意的类型(文字什么的也都可以,类似于字典,不过只能一对一)

声明一个下标为1~10的int类型数组

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值