我有一些理论/实际问题,我现在还没有关于如何管理的线索,这里是:
我创建了一个SAT求解器,能够在存在模型时找到模型,并且当使用遗传算法在C中出现CNF问题时,不能证明矛盾.
SAT问题看起来基本上就像这样的问题:
我的目标是使用此求解器在许多不同的NP完成问题中找到解决方案 .基本上,我将不同的问题转换为SAT,用我的求解器解决SAT,然后将解决方案转换为原始问题可接受的解决方案.
我已经成功完成了N*N Sudoku以及N-queens问题,但这是我的新目标:将类调度问题减少到SAT,但我不知道如何形成类调度问题以便轻松转换它在SAT之后.
显然,在几个月内,我们的目标就是制作一张如下图所示的时间表:

我发现这个源代码能够解决类调度但不幸的是没有减少SAT:/
我还发现了一些关于规划的文章(例如http://www.cs.rochester.edu/users/faculty/kautz/papers/kautz-satplan06.pdf).
但是,本文中使用的规划域定义语言似乎对我来说过于笼统,以表示类调度问题.:/
是否有人知道如何有效地形成类调度以便将其减少到SAT以及之后,将SAT解决方案(如果它存在^^)转换为类调度?
我基本上对任何建议持开放态度,我现在不知道如何表示,如何减少问题,如何将SAT解决方案转换为计划......
我在执行单元测试时遇到了Hibernate的问题,这是我得到的问题:
org.springframework.dao.InvalidDataAccessResourceUsageException:
user lacks privilege or object not found: ROWNUM; SQL [n/a];
nested exception is org.hibernate.exception.SQLGrammarException:
user lacks privilege or object not found: ROWNUM
....
Caused by: org.hsqldb.HsqlException:
user lacks privilege or object not found: ROWNUM
Run Code Online (Sandbox Code Playgroud)
我正在使用 :
<hibernate.version>4.1.0.Final</hibernate.version>
<hsqldb.version>2.3.3</hsqldb.version>
我正在测试的功能在生产环境中完美地工作,但我不知道为什么在我测试它时并非如此.
以下是引发错误的测试函数:
@Override
public EvaluationCriteria findByCriteriaIdAndEvaluationId(Long evaluationId, Long criteriaId) {
JPAQuery query = new JPAQuery(getEntityManager());
QEvaluationCriteria evaluationCriteria = QEvaluationCriteria.evaluationCriteria;
return query.from(evaluationCriteria)
.where(evaluationCriteria.evaluation.id.eq(evaluationId))
.where(evaluationCriteria.criteria.id.eq(criteriaId))
.singleResult(evaluationCriteria);
}
Run Code Online (Sandbox Code Playgroud)
我的测试:
@Test
public void findByCriteriaIdAndEvaluationId() {
Long evaluationId = (long)1;
Long criteriaId = (long)1;
EvaluationCriteria …Run Code Online (Sandbox Code Playgroud) (圣诞快乐顺便说一下^^)
这是我的问题(在JAVA中),但它绝对是一个算法问题,我不知道如何解决它:/所以这里是一个例子(仅供参考,我的所有计算都是二进制的,所以1 + 1 = 0)
让我们命名变量:
N : the number of elements in kernel.
M : the length of an element in the kernel.
int[][] Kernel:
....
i : 0 1 1 1 0 1 0 1 0 1 1 1 0 1 1 1 0 1 0 1 0 1 1 1 0 (length = M)
i+1 : 1 0 1 0 1 1 0 1 0 1 0 0 0 0 0 1 0 1 0 1 …Run Code Online (Sandbox Code Playgroud) 我联系您,以便了解"如何将流水车间调度问题转换为布尔可满足性".
我已经为N*N Sudoku,N-queens和Class调度问题做了这样的减少,但是我对如何将Flow shop转换为SAT有一些问题.
SAT问题看起来像这样:

目标是:使用不同的布尔变量,找到每个变量的效果,以使"句子"成立.(如果可以找到解决方案).
我使用遗传算法创建自己的求解器,能够找到解决方案并证明什么时候没有.现在,我尝试不同的NP问题,比如Flow Shop.
流水车间调度问题是车间或集团车间的一类调度问题,其中流量控制应能够为每个作业进行适当的排序,并在一组机器或其他资源上进行处理1,2,...,m符合给定的处理订单.
特别是在最小的空闲时间和最少的等待时间的情况下,期望保持连续的处理任务流.
Flow shop调度是作业车间调度的一个特例,其中对所有作业执行所有操作的严格顺序.
流水车间调度也可以应用于计算设计的生产设施.
结果是一系列工作将经历每个研讨会,图形结果将如下所示:

所以为了表示flow-shop实例,在输入中我有这样的文件:
2 4
4 26 65 62
63 83 57 9
Run Code Online (Sandbox Code Playgroud)
这个文件意味着我有2个商店和4个工作,每个工作的每个工作的持续时间都是.
目标:找到最小化C_max的序列,如果您愿意,可以找到最后一台机器上最后一个作业的结束日期.
我的Flow-Shop现在非常简单,但我不知道如何将它们形式化以便创建一个CNF文件来执行我的SAT求解器.
如果你们其中一个有一些想法:文章?一个想法的开始?
这个问题的下一部分:Flow/Job Shop到布尔可满足性[多项式时间缩减]第2部分
我是一个全新的sat4j求解器..
它说一些cnf文件应该作为输入
是否有任何可能的方法将规则作为输入并获得它是否可满足?
我的规则将是那种:
Problem = (
( staff_1 <=> staff_2 ) AND
( doctor_1 <=> physician_2 )
) AND (
( staff_1 AND doctor_1 )
) AND (
NOT( ward_2 AND physician_2 ) AND
NOT( clinic_2 AND physician_2 ) AND
NOT( admission_record_2 AND physician_2 )
) AND (
NOT( hospital_2 AND physician_2 ) AND
NOT( department_2 AND physician_2 ) AND
NOT( staff_2 AND physician_2 )
)
Run Code Online (Sandbox Code Playgroud)
有人可以帮我解决这个问题,使用sat4j求解器吗?
我是android的新手,我一直在从事一个项目,并且在我的新闻提要页面中,我尝试包括一个模块化提要RecyclerView,该提要显示具有不同答案形式的问题,并根据Question类型进行变化。到目前为止,我这样做的方法是使用include并在需要时将表单显示为可见。最近,由于我添加了更多模块,因此该应用开始明显减速,因此我尝试实现ViewStubs。
这是我的RecyclerView适配器:
public class ReQuestionAdapter extends RecyclerView.Adapter<FeedItem> {
private ArrayList<Question> myQuestions;
public ReQuestionAdapter(Context context, ArrayList<Question> questions) {
myQuestions = questions ;
}
@Override
public FeedItem onCreateViewHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext())
.inflate(R.layout.list_item_re_question, parent, false);
return new FeedItem(view);
}
@Override
public void onBindViewHolder(FeedItem holder, int position) {
Question q = myQuestions.get(position);
holder.bindQuestion(q);
}
@Override
public int getItemViewType(int position) {
return 0;
}
@Override
public int getItemCount() {
return myQuestions.size();
}
}
Run Code Online (Sandbox Code Playgroud)
这是适配器的ViewHolder类:
public class FeedItem extends RecyclerView.ViewHolder{
private …Run Code Online (Sandbox Code Playgroud) data-binding android viewstub android-viewholder android-recyclerview
algorithm ×3
java ×3
reduction ×2
sat ×2
android ×1
c ×1
data-binding ×1
for-loop ×1
hibernate ×1
hsqldb ×1
junit ×1
math ×1
nlp ×1
ontology ×1
optimization ×1
sat-solvers ×1
sat4j ×1
scheduling ×1
spring ×1
viewstub ×1